[原创]POST获得网上返回资源

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

POST获得网上返回资源,是回论坛中一个贴子写的

'==========================================

'posttofile("http://entry.126.com/cgi/login", _

' "<base href=""http://m134.mail.126.com/"">", _

' "user=XXX&pass=XXX", "XXX.html")

'

'Power by: Landlordh

'说明:

' 转载请保留原有版权信息

' 此函数没有考虑相关的文件夹权限问题

'===========================================

Private Sub PostBackToFile(ByVal url As String, ByVal baseHref As String, ByVal poststr As String, ByVal FileName As String)

Try

Dim code As String = "GB18030" '"big5"

Dim req As Net.HttpWebRequest = CType(Net.WebRequest.Create(url), Net.HttpWebRequest)

Dim SomeByte() As Byte = System.Text.Encoding.ASCII.GetBytes(poststr)

req.Method = "POST"

req.ContentType = "application/x-www-form-urlencoded"

req.ContentLength = SomeByte.Length

req.GetRequestStream.Write(SomeByte, 0, SomeByte.Length)

Dim res As Net.HttpWebResponse = CType(req.GetResponse, Net.HttpWebResponse)

Dim ReadStream As StreamReader = New StreamReader(res.GetResponseStream, System.Text.Encoding.GetEncoding(code))

Dim strLine As String

Dim getstr As String

Do

strLine = ReadStream.ReadLine '用原来的排版

getstr &= strLine & vbCrLf

Loop Until strLine Is Nothing

ReadStream.Close()

getstr = getstr.Insert(0, baseHref) '如果用了相对路径,控制目标的base href,否则打不开网页

Try

If IO.File.Exists(FileName) Then IO.File.Delete(FileName)

Dim sr As New IO.StreamWriter(IO.File.Create(FileName), System.Text.Encoding.GetEncoding(code))

'Dim sr As IO.StreamWriter = IO.File.CreateText(FileName) '编码兼容(utf8)

sr.Write(getstr)

sr.Close()

Catch e As Exception

MsgBox(e.Message)

End Try

Catch

End Try

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航