永发信息网

VB读取网页验证码问题

答案:2  悬赏:0  手机版
解决时间 2021-07-20 10:21

例如这个网页中的验证码

http://ui.ptlogin2.qq.com/cgi-bin/login?link_target=blank&target=self&appid=8000203&qlogin_jumpname=vipmyqq&f_url=loginerroralert&qlogin_auto_login=1&s_url=http%3A//imgcache.qq.com/club/portal_new/redirect.html%3Fjump_url%3Dhttp%253A//my.qq.com/&qlogin_param=jump_url%3Dhttp%253A//my.qq.com/

我想利用VB让他直接显示在Form窗体的picture上。请问该怎么办?

高手来。谢谢

最佳答案

简单写了下代码,注释也很详细 - -|


新建个窗体,放一个图片框,默认名字 Picture1


把代码复制进去


运行


点击图片框,你会看到奇妙的事情发生



Option Explicit


Private Sub Picture1_Click()

Dim http As Object
'建立xmlhttp对象
Set http = CreateObject("MSXML2.XMLHTTP")
'设置验证码网址
http.open "GET", " http://ptlogin2.qq.com/getimage?aid=8000203&" & Rnd, False
http.send


'判断http状态
If http.readyState = 4 Then
Dim a() As Byte, b, i As Long

'这里把返回的数据放到临时变量b
b = http.responseBody


'将返回的数据写入到byte数组a
ReDim a(UBound(b))
For i = 0 To UBound(a)
a(i) = b(i)
Next

'确保临时文件为空
Open App.Path & "\code.jpg" For Output As #1
Close #1


'向临时文件写入图片数据
Open App.Path & "\code.jpg" For Binary As #1
Put #1, , a
Close #1

'将图片加载到图片框
Picture1.Picture = LoadPicture(App.Path & "\code.jpg")


'删除临时文件
Kill App.Path & "\code.jpg"


Else
Picture1.Cls
Picture1.Print "http请求错误!" & http.readyState
End If
End Sub

全部回答

你这个网址打开是个空白页。

验证码图片体现在网页的html代码里和其他图片差不多,也是<img src=...... /img>,所不同的是一般图片的URL确实是指向某一图片文件的地址,而验证码图片则指向一个程序文件并带有参数。

因此,你只能针对某一网站来编写,无法做到一个程序针对所有的网站的。

首先,你必须模仿浏览器的行为,发起http请求把登陆页的html下载下来,解释出其中关于验证码图片的src后面的URL,然后你再用这个URL再次发起一次http请求,那么你就会得到这个图片的二进制数据了,这些数据可能是jpg格式,也可能是其他格式(具体看那个网站用的是什么验证控件),反正数据得到之后你就可以试试往picture上贴了。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在电脑上怎样键入特殊符号
我如果换一个手机开超级QQ
小仓优子出过唱片吗?都唱了一些什么歌?
诛仙2合欢怎样赚钱
高一数学关于函数的、就3题!急啊!!!!1
求此视频中音乐名字,谢谢了
科学发展观资料
电脑开机后为什么老是有这个东西?有图
qq仙侠传会有图标吗?
谁知道这是什么歌啊。。。。。
歌舞青春的歌谱哪里有?
大话2 二转转什么角色好?
什么样的才叫早恋?
人为什么会打呼噜?怎样才可以使自己不受深夜
如果有半年的的时间没去工作的话,在面试时应
推荐资讯
月经提前十二天来是不是有什么问题
我户口是黑龙江鸡东的能上黑龙江密山市的重点
勘察的意思的近义词,WOW皮甲幻化问题!
喜羊羊与灰太狼真的那么好看?
诺基亚5300怎么调亮度
为什么要早晚刷牙而不是吃完饭后刷呢。
牙疼含水停不下来了怎么办
怎么隐藏登录QQ所在区?
QQ幻想世界现在要内测号不、
如何利用上下班坐车的时间?
物理的分子和原子与化学的分子原子有什么区别
东北话“没际”是啥意思?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?