我想做一个小程序 可以在VB程序中登录 网页 http://my.qq.com/
可以自动填写 帐号和密码 但是验证码 不知道如何解决
用这个WebBrowser 控件 验证码还是必须在 网页上输入 不能在 VB 的 text中输入
我是个新手 希望知道的 回答的答案 可以详细点 最好能列出程序 呵呵我的目的是 在VB窗口 建立3个TEXT 可以输入 帐号 密码 和 验证码 但是 我不知道如何实现
帐号-------
密码-------
验证码
输入-------
可以自动填写 帐号和密码 但是验证码 不知道如何解决
用这个WebBrowser 控件 验证码还是必须在 网页上输入 不能在 VB 的 text中输入
我是个新手 希望知道的 回答的答案 可以详细点 最好能列出程序 呵呵我的目的是 在VB窗口 建立3个TEXT 可以输入 帐号 密码 和 验证码 但是 我不知道如何实现
帐号-------
密码-------
验证码
输入-------
呵呵,开玩笑的,你上百度吧,不要一来就上CSDN
Dim I As Integer
Set vDoc = WebBrowser1.Document
For I = 0 To vDoc.All.Length - 1
If UCase(vDoc.All(I).tagName) = "INPUT" Then
Set vTag = vDoc.All(I)
Select Case vTag.Name
Case "u" '用户名
vTag.value = 用户名
Case "p" '密码
vTag.value = 密码
Case "verifycode" '验证码
vTag.value = 验证码
End Select
Select Case vTag.Type
Case "submit" 'NEXT
vTag.Click
End Select
End If
Next I
至于验证码,下载到本地,手工识别,
验证码的原理就是 session或cookie 只要在向服务器提交之前 想怎么折腾都行,,,知道“打码”么?。。就是这个道理。。
楼主可以先嗅探一下验证码的图片链接,假设为URL,WebBrowser1.Navigate Url,验证码图片可以在VB窗体上显示出来。要获得正确的验证码可能涉及正确的来路问题。可参考我的提问
http://topic.csdn.net/u/20100321/00/d4a996af-6acd-4b53-a7dd-d47b08880003.html
用INET 下载验证码 在post数据吧 方便得多
想当年,洗信的达到了疯狂的地步.TX在这方面估计是下了不少功夫
http://topic.csdn.net/u/20100412/22/b18655c9-eeed-4bb4-8bb0-2d225624341a.html?24567
Dim vDoc, vTag '网页添表申明Private Sub Form_Load()
WebBrowser1.Navigate "http://ui.ptlogin2.qq.com/cgi-bin/login?s_url=http%3A%2F%2Faq.qq.com%2Fcn%2Fservices%2Fabnormal%2Fabnormal_index&appid=2001601&f_url=loginerroralert&hide_title_bar=1&no_verifyimg=1&qlogin_jumpname=jump&qlogin_param=u1%3Dhttp%253A%252F%252Faq.qq.com%252Fcn%252Fservices%252Fabnormal%252Fabnormal_index"
WebBrowser2.Navigate "http://ptlogin2.qq.com/getimage?aid=2001601&0.21076988801148538"
WebBrowser3.Navigate "http://aq.qq.com/cn/services/abnormal/abnormal_index"
End SubPrivate Sub Command1_Click()
Set vDoc = WebBrowser1.Document For i = 0 To vDoc.All.length - 1 If UCase$(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i) If vTag.Type = "text" Then Select Case vTag.Name Case "u"
vTag.Value = Text1 '用户名
End Select End If If vTag.Type = "password" Then Select Case vTag.Name Case "p"
vTag.Value = Text2 '密码
End Select End If If vTag.Type = "text" Then Select Case vTag.Name Case "verifycode"
vTag.Value = Text3 '验证码
End Select End If If vTag.Type = "submit" Then '如果不要点击按钮登陆,把此if的代码删除
vTag.Click
End If End If Next iEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub Image1_Click()
WebBrowser2.RefreshEnd SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) '判断帐号密码是否正确
If InStr(1, WebBrowser1.Document.body.innertext, "欢迎您") <> 0 Then
MsgBox "OK成功登陆"
WebBrowser3.Visible = False
WebBrowser1.Visible = True
Else
WebBrowser2.Refresh
End If
End SubPrivate Sub WebBrowser2_DocumentComplete(ByVal pDisp As Object, URL As Variant) '当网页下载完毕后,刷新一次验证码
If (pDisp Is WebBrowser2.Object) Then
WebBrowser2.Refresh
End If
End SubPrivate Sub WebBrowser3_DocumentComplete(ByVal pDisp As Object, URL As Variant) '当网页下载完毕后,刷新一次验证码
If (pDisp Is WebBrowser3.Object) Then
WebBrowser2.Refresh
End If
End Sub