| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | Imports System.Net Imports System.IO Imports System.Text Public Class Form1     Const ConnectURL = "http://www.raineggplant.com/logon.php"     Const HomeURL = "http://www.raineggplant.com"     Private Function RegularPage(ByVal URL As String, ByVal CookieJar As CookieContainer) As String         '携带CookieJar中的Cookie访问URL         Dim reader As StreamReader         Dim Request As HttpWebRequest = HttpWebRequest.Create(URL)         Request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14"         Request.AllowAutoRedirect = False         Request.CookieContainer = CookieJar         Dim Response As HttpWebResponse = Request.GetResponse()         reader = New StreamReader(Response.GetResponseStream())         Return reader.ReadToEnd()         Response.Close()     End Function     Private Sub LogonPage(ByVal URL As String, ByRef CookieJar As CookieContainer, ByVal PostData As String)         '访问URL获取Cookie         Dim reader As StreamReader         Dim Request As HttpWebRequest = HttpWebRequest.Create(URL)         Request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14"         Request.CookieContainer = CookieJar         Request.AllowAutoRedirect = False         Request.ContentType = "application/x-www-form-urlencoded"         PostData = "username=isiria&password=ceciestunmdp"         Request.Method = "POST"         Request.ContentLength = PostData.Length         Dim requestStream As Stream = Request.GetRequestStream()         Dim postBytes As Byte() = Encoding.ASCII.GetBytes(PostData)         requestStream.Write(postBytes, 0, postBytes.Length)         requestStream.Close()         Dim Response As HttpWebResponse = Request.GetResponse()         For Each tempCookie In Response.Cookies             CookieJar.Add(tempCookie)         Next         reader = New StreamReader(Response.GetResponseStream())         Response.Close()     End Sub     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Dim CookieJar As New CookieContainer         Dim PostData As String         Try             'Logon             PostData = "username=admin&password=password"             LogonPage(ConnectURL, CookieJar, PostData)             'Homepage             RichTextBox1.AppendText(RegularPage(HomeURL, CookieJar))         Catch ex As Exception             MessageBox.Show(ex.Message.ToString)         End Try     End Sub End Class | 
至于GB2132网页乱码问题可以这样解决:
| 1 | reader = New StreamReader(Response.GetResponseStream()) | 
改成:
| 1 | reader = New StreamReader(Response.GetResponseStream(), Encoding.GetEncoding("GB2312")) | 
如果要输出到文件,请使用Unicode编码!
RainEggplant原创文章,转载请注明来自:VB.net:Post登陆获取Cookie访问指定页面代码

 
	 Loading...
		Loading...