如何保存当前页面的验证码图片到本地
本帖最后由 xymc 于 2015-5-17 03:40 编辑http://www.lingpao8.com/
当前页面上的验证码图片如何保存到本地,然后我通过QQ超人打码来识别自动输入
麻烦大家帮我看看
以下是调用QQ超人打码的
现在主要是这个图片路径找不到
Global $user = "123456" ;QQ超人打码账号
Global $pass = "123456" ;QQ超人打码密码
Global $softId = "0" ;软件ID,缺省为0
Global $path = @ScriptDir & "\dc.dll" ;插件路径
Global $imgpath = @ScriptDir & "\1688.png" ;图片路径
Global $dll = DllOpen($path)
;查询剩余点数
$result = DllCall($dll,"str","GetUserInfo","str",$user,"str",$pass)
If IsArray($result) Then
If $result>0 Then
ConsoleWrite("剩余点数:" & $result & @CRLF);查询成功
Else
ConsoleWrite("错误信息:" & $result & @CRLF);错误信息
Exit
EndIf
EndIf
;调用RecYZM_A,根据验证码路径识别
$result = DllCall($dll,"str","RecYZM_A","str",$imgpath,"str",$user,"str",$pass,"str",$softId)
If IsArray($result) Then
$aArray = StringSplit($result,"|")
MsgBox(64,"答案","获得的答案为:"&$aArray)
ConsoleWrite("验证码结果:" & $aArray & "打码工人:" & $aArray & @CRLF)
EndIf
;ReportError报告错误
$worker = "6980F20873A9430582C819FB54D0E480" ;打码工人编号
$result = DllCall($dll,"none","ReportError","str",$user,"str",$worker)
为什么我用以下代码保存的验证码图片和网页打开的验证码不一样,关键还是如何把当前打开页面上的这个验证码图片保存到本地
我试过手动右键另存为是可以的,但AU3怎么能保存到呢?
$url="http://www.lingpao8.com/site/captcha/v/555769f74e00e.html"
$xmlhttp=ObjCreate("msxml2.xmlhttp")
If IsObj($xmlhttp) Then
$xmlhttp.open("GET",$url,True)
$xmlhttp.send
While $xmlhttp.readystate<>4
Sleep(100)
WEnd
If $xmlhttp.status=200 Then
$tmp=StringRegExp($xmlhttp.getresponseheader("Content-Type"),"(?is)image\/(.+)",3)
If IsArray($tmp) Then
$file=FileOpen(@ScriptDir&"\temp."&$tmp,2+8+16)
FileWrite($file,$xmlhttp.responsebody)
FileClose($file)
ShellExecute(@ScriptDir&"\temp."&$tmp)
EndIf
EndIf
EndIf 验证图片需要注意保持Cookies一致的,每次访问是不一样的。
你给的这个网页是动态页生成的静态页,刷新没有变化。但是Cookies已经不一样了。
一般是下载验证码图片,记住Cookies,在识别完后提交的时候要带Cookies一起提交。
页:
[1]