VB 抓取网站验证码图片
2010年05月20日
方法一:使用XMLHTTP
Public Function GetCheckCode()
Dim xmlHttp As Object
Dim Pic
Dim PicData As Object
Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
Set PicData = CreateObject("Adodb.Stream")
xmlHttp.open "get", "http://www.pceggs.com/CheckCode.aspx", True
xmlHttp.setRequestHeader "Accept", "*/*"
xmlHttp.setRequestHeader "Referer", "http://www.pceggs.com/Login.aspx"
xmlHttp.setRequestHeader "Accept-Language", "zh-cn"
xmlHttp.setRequestHeader "Accept-Encoding", "gzip, deflate"
xmlHttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 2.0.50727)"
xmlHttp.setRequestHeader "Host", "www.pceggs.com"
xmlHttp.setRequestHeader "Connection", "Keep-Alive"
xmlHttp.send
While xmlHttp.ReadyState 4
DoEvents
Wend
Pic = xmlHttp.responseBody
With PicData
.Type = 1
.open
.write Pic
.SaveToFile App.Path & "\CheckCode.jpg", 2
.Cancel
.Close
End With
Set PicData = Nothing
Set xmlHttp = Nothing
frmLogin.ImgYZM.Picture = LoadPicture(App.Path & "\CheckCode.jpg")
End Function
方法二:
Private Sub Command1_Click()
WebBrowser1.Navigate2 "http://www.pceggs.com/login.aspx"
End Sub
Private Sub Command2_Click()
Dim CtrlRange, x
For Each x In WebBrowser1.Document.All
If UCase(x.tagName) = "IMG" Then
If InStr(x.src, "CheckCode.aspx") > 0 Then
Set CtrlRange = WebBrowser1.Document.body.createControlRange()
CtrlRange.Add (x)
CtrlRange.execCommand ("Copy")
Debug.Print "Copy"
Image1.Picture = Clipboard.GetData
End If
End If
Next
End Sub
-------------------------------------------------------------------------------------------------
Private Sub Form_Load()
WebBrowser1.Navigate "http://passport.baidu.com/?reg"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error Resume Next
WebBrowser1.Silent = True
Me.MousePointer = vbDefault
Dim x, CtrlRange
Dim sPath As String
sPath = App.Path
sPath = Left(sPath, InStr(sPath, vbNullChar) - 1)
If Len(sPath) > 3 Then sPath = sPath & "\"
If Trim(txtUser.Text) "" Then
gstrFileName = sPath & Trim(txtUser.Text) & "Code.bmp"
Else
gstrFileName = sPath & "TempCode.bmp"
End If
For Each x In WebBrowser1.Document.All
If x.tagName = "IMG" Then
If x.src = "http://passport.baidu.com/?verifypic" Then '这里就是那个动态图片的连接了
WebBrowser1.Stop
Set CtrlRange = WebBrowser1.Document.body.createControlRange()
CtrlRange.Add (x)
CtrlRange.execCommand ("Copy")
'MsgBox UCase$(x.src)
SavePicture Clipboard.GetData, gstrFileName
'SavePicture Clipboard.GetData, App.Path & "\1.bmp" '用于把图片保存至硬盘中
Picture1.Picture = Clipboard.GetData
End If
End If
Next
End Sub
From: http://hi.baidu.com/372748472/blog/item/a166c9229dff92449258078e.html
发表评论
-
VC 小技巧(一)
2012-01-20 02:44 626VC 小技巧(一) 2010年06月 ... -
从DOS命令到制作IMG的详细教程
2012-01-20 02:44 537从DOS命令到制作IMG的详细教程 2010年06月20日 ... -
一个文件分割器源码(MASM32)
2012-01-20 02:44 661一个文件分割器源码(MASM32) 2010年09月27日 ... -
linux设备驱动(十五)--与硬件通信
2012-01-20 02:44 556linux设备驱动(十五)--与 ... -
关于文件的一些总结
2012-01-20 02:44 770关于文件的一些总结 2010年08月29日 Create ... -
生产部经理岗位职务说明书
2012-01-19 10:38 600生产部经理岗位职务说明书 2011年10月12日 生产部 ... -
培 训 教 材
2012-01-19 10:38 650培 训 教 材 2011年11月18日 培 训 教 ... -
包袋生产部工作经验~
2012-01-19 10:38 768包袋生产部工作经验~ 2 ... -
生产部经理绩效考核
2012-01-19 10:38 813生产部经理绩效考核 2010年06月12日 ... -
4-25Linux下的一些简单网络配置命令介绍
2012-01-17 03:07 6774-25Linux下的一些简单网络配置命令介绍 2011年0 ... -
PHOTOSHOP初学者成长教材
2012-01-17 03:07 540PHOTOSHOP初学者成长教材 ... -
7月16号 键盘按键失灵? 蓝屏的终极处理?
2012-01-17 03:07 8517月16号 键盘按键失灵? 蓝屏的终极处理? 2011年07 ... -
C程序1
2012-01-17 03:07 635C程序1 2011年12月15日 ... -
VB语言
2012-01-16 01:41 712VB语言 2009年11月07日 ... -
VB模拟广告点击(包括二次点击)
2012-01-16 01:41 1017VB模拟广告点击(包括二次点击) 2009年10月19日 ... -
VB对IE浏览器完全控制
2012-01-16 01:41 826VB对IE浏览器完全控制 2 ... -
虚方法笔记
2012-01-11 01:28 549虚方法笔记 2011年09月01日 没用virtual ... -
jsp动作组件
2012-01-11 01:28 582jsp动作组件 2011年09月01日 1. ... -
java解惑------长整除(解惑) | WebWork文件上传的问题---Content-Type no ...
2012-01-11 01:27 618java解惑------长整除(解惑) | WebWork文件 ... -
Struts1中文件下载
2012-01-11 01:27 710Struts1中文件下载 2011年09月01日 网上 ...
相关推荐
识别验证码VB源码 识别验证码VB源码 识别验证码VB源码
一个用VB实现的识别验证码的例程,调用动态链接库
VB6版本图片验证码字母或数字通用识别代码,各种图片验证码都可以识别。识别速度快速,无需等待,立即返回。VB6图片验证码字母或数字通用识别代码,非VB.NET。
VB写的最简单的验证码识别程序,含图片识别及源代码模块,验证码图片取自网上ASP程序生成的图片,由程序读取后下载到本地,识别模块通过点阵扫描后对字符点阵数量的统计来进行识别,比较初级。只能识别字符比较规则...
vb 自身验证码生成图片并识别 源代码
vb验证码识别 vb验证码识别 vb验证码识别
vb验证码vb验证码
主要使用到pegasus公司出的两个控件做的识别 一个是SSICR,一个是IMGPr6 识别准确率测试时98%以上 只识别英文和数字,中文不识别
VB生成图片格式的验证码,这是个比较实用的验证码生成 程序,可生成带有噪点干扰的验证码,更不容易被破解,可广泛应用于程序输入验证,登录验证等。校验码类型可以是数字、大写字母、小写字母以及三者的混合体,...
VB的简单验证码识别代码,思路供大家参考,多多交流
加密验证码 里面有详细的代码,供VB初学者或者当做资料用都非常好。 内容绝对真实
vb的验证码识别方法,非常详细。学过的同学肯定能做到举一反三的效果。
VB抓取网页快照为图片文件,把整个网页以图片的形式抓取下来,然后将网页快照以图片的形式存储。保存的图片格式为BMP。
Vb.net验证码控件及Demo源码 Vb.net验证码控件及Demo源码 Vb.net验证码控件及Demo源码
vb 验证码识别,可以设置纯数字网站验证码
VB随机生成中文验证码源码
vb 验证码 识别 图片 vb6的 当然是比较简单的识别,
VB写的简单验证码识别
Vb.net验证码控件及Demo源码 这个验证码控件实在太好了,有未编译过的源码,是VB.Net的,可以实现不规则的底纹噪点,这个控件真的太酷了 控件代码是Vb.net,Demo代码是C#的