Public Shared Function PostDate(ByVal url As String, ByVal PostData() As String) As String Dim Post As String = "" For Each s As String In PostData Post += s + "&" Next Post = Post.Substring(0, Post.Length - 1) Dim html As String = "" Dim encoding As Encoding = encoding.GetEncoding("GB2312") Dim data As Byte() = encoding.GetBytes(Post) Dim myRequest As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest) myRequest.Method = "POST" myRequest.ContentType = "application/x-www-form-urlencoded" myRequest.ContentLength = data.Length Dim newStream As Stream = myRequest.GetRequestStream() newStream.Write(data, 0, data.Length) newStream.Close() Dim resp As HttpWebResponse = CType(myRequest.GetResponse(), HttpWebResponse) Dim sr As StreamReader = New StreamReader(resp.GetResponseStream(), System.Text.Encoding.Default) html = sr.ReadToEnd() Return html End Function其中PostData的格式为:Dim postdata As String() = {"id=" & Trim(id.Text), "pw=" & Password.Text, "ipmask=0"} Dim strUrl As String = "http://bbs.cau.edu.cn/wusetu.cn/bbslogin" Dim SessionHtml As String = PostDataAndGetData.PostDate(strUrl, postdata)
string url = "https://.....";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Referer = "http://csdn.net/....";
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
....?
这个程序对一般的不严密的网站是好用的,但也不是全都好用。如果网站要是用https://的,是不是更麻烦呢,还是根本就不可能呢。
Dim Post As String = ""
For Each s As String In PostData
Post += s + "&"
Next
Post = Post.Substring(0, Post.Length - 1)
Dim html As String = "" Dim encoding As Encoding = encoding.GetEncoding("GB2312")
Dim data As Byte() = encoding.GetBytes(Post)
Dim myRequest As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
myRequest.Method = "POST"
myRequest.ContentType = "application/x-www-form-urlencoded"
myRequest.ContentLength = data.Length
Dim newStream As Stream = myRequest.GetRequestStream()
newStream.Write(data, 0, data.Length)
newStream.Close()
Dim resp As HttpWebResponse = CType(myRequest.GetResponse(), HttpWebResponse)
Dim sr As StreamReader = New StreamReader(resp.GetResponseStream(), System.Text.Encoding.Default)
html = sr.ReadToEnd() Return html
End Function其中PostData的格式为:Dim postdata As String() = {"id=" & Trim(id.Text), "pw=" & Password.Text, "ipmask=0"} Dim strUrl As String = "http://bbs.cau.edu.cn/wusetu.cn/bbslogin"
Dim SessionHtml As String = PostDataAndGetData.PostDate(strUrl, postdata)