您的位置:首页 > 理论基础 > 计算机网络

vb.net如何使用HttpWebRequest模拟登陆带验证码的网站

2014-10-15 15:34 1121 查看
vb.net如何使用HttpWebRequest模拟登陆带验证码的网站
2014-06-23 21:54

玛瑙与翡翠 | 分类:C#/.NET
| 浏览99次

Public Function 发送信息(strUrl As String, strPostData As String, Optional ByVal 发送方式 As Boolean = True) As HttpWebResponse
Dim myHttpWebRequest As HttpWebRequest = WebRequest.Create(strUrl)
If 发送方式 Then
myHttpWebRequest.Method = "POST"
Else
myHttpWebRequest.Method = "GET"
End If
'填充基本信息
myHttpWebRequest.Accept = "text/html, application/xhtml+xml, */*"
myHttpWebRequest.UserAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MALCJS)"
myHttpWebRequest.Headers.Add("Accept-Language", "zh-CN")
myHttpWebRequest.Headers.Add("Accept-Encoding", "gzip, deflate")
myHttpWebRequest.Headers.Add("DNT", "1")
myHttpWebRequest.KeepAlive = True
myHttpWebRequest.Timeout = 8000
myHttpWebRequest.Credentials = CredentialCache.DefaultCredentials
myHttpWebRequest.AllowAutoRedirect = True
myHttpWebRequest.MaximumAutomaticRedirections = 4

myHttpWebRequest.CookieContainer = New CookieContainer()
myHttpWebRequest.CookieContainer = myCookie

Dim postData As String = strPostData '+ ChrW(61)
Dim encoding As New ASCIIEncoding()
Dim postByte As Byte() = encoding.GetBytes(postData)
If Not postByte Is Nothing Then
If postByte.Length > 0 Then
myHttpWebRequest.ContentLength = postByte.Length
Dim newStream As Stream = myHttpWebRequest.GetRequestStream()
newStream.Write(postByte, 0, postByte.Length)
newStream.Flush()
newStream.Close()
End If
End If

Dim myHttpWebResponse As HttpWebResponse
Try
myHttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Catch ex As Exception
End Try
If Not myHttpWebResponse Is Nothing Then
Return myHttpWebResponse
Else
Return Nothing
End If
myHttpWebResponse.Close()
End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: