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

本文介绍了一个使用VB.NET的HttpWebRequest类模拟登录带验证码网站的方法。通过设置请求头、提交POST数据等方式实现完整的登录流程。
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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值