老榆头 发表于 2009-10-30 14:19:47

为什么这个网址中的验证码图片不能获取?

本帖最后由 老榆头 于 2009-10-30 21:24 编辑

详见二楼代码

利用论坛上的好像是BOB的一段代码
我想首先获取图片在自己机器上的位置

代码中给了三个网址,其中前两个可以
第三个获取不到,请问原因在哪里,如何解决?
谢谢

老榆头 发表于 2009-10-30 14:20:17

本帖最后由 老榆头 于 2009-10-30 15:32 编辑

#include <IE.au3>

Dim $i=0
;测试1        ---        可以获取
;$url="http://service.cheshi.com/user/register.php"        ;含有验证码的页面
;$name="validate.php"                                                                ;验证码图片名称

;测试2        ---        可以获取
;$url="http://www.bridal100.com/zhuce/index.asp"        ;含有验证码的页面
;$name="safecode.asp"                                                                ;验证码图片名称

;测试3        ---        不可以
$url="http://login.jyb.cn/regapply.php"        ;含有验证码的页面
$name="image.php"                                                                ;验证码图片名称


$oIE = _IECreate ($url,0,1,0)
sleep(5000)

$oImgs = _IEImgGetCollection ($oIE)
For $oImg In $oImgs
        ;ConsoleWrite("name:" & $oImg.nameProp & @CRLF)
        $i+=1
        If $oImg.nameprop=$name Then
           $oPic = $oIE.Document.body.createControlRange()
         $oPic.Add($oImg)
         $oPic.execCommand("Copy")
         $img = ClipGet()
      EndIf
Next
ConsoleWrite("图片位置:" & $img & @CRLF)

老榆头 发表于 2009-10-30 15:32:15

代码执行之后
我可以通过ctrl+V将图片粘贴到画图中
但图片位置却写不出

jhwl 发表于 2009-10-30 16:22:48


#include <IE.au3>
#Include <Clipboard.au3>
#Include <ScreenCapture.au3>
Dim $i=0
$url="http://login.jyb.cn/regapply.php"      ;含有验证码的页面
$name="image.php"                           
$oIE = _IECreate ($url,0,1,0)
sleep(5000)
$oImgs = _IEImgGetCollection ($oIE)
For $oImg In $oImgs
      $i+=1
      If $oImg.nameprop=$name Then
         $oPic = $oIE.Document.body.createControlRange()
         $oPic.Add($oImg)
         $oPic.execCommand("Copy")
         $img = ClipGet()
                   _ClipBoard_Open (0)
                        Local $hMemory = _ClipBoard_GetDataEx ($CF_BITMAP)
                        _ClipBoard_Close ()
                        _ScreenCapture_SaveImage (@ScriptDir & "\test.bmp", $hMemory)
      EndIf
Next

老榆头 发表于 2009-10-30 16:55:15

太棒了!可以呀:face (33):

是的,图片可以ctrl+v,那就说明已经在剪贴板中了
就可以把它保存起来
只是从来没有这么用过,也没有想到

谢谢管理员,谢谢!

-----------------------
就是,还有一点不明白:
为什么有的页面,可以,有的却不可以?

jhwl 发表于 2009-10-30 18:05:03

涉及到内存里的东西,此站点验证码直接生成在内存中,地址为0xC8051000 这种形势

老榆头 发表于 2009-10-30 21:23:30

哦,也就是说,这是由验证码的生成程序决定的,是不是这意思
恐怕要写过验证码,可能会深入了解一些

再次感谢!
页: [1]
查看完整版本: 为什么这个网址中的验证码图片不能获取?