kk_lee69 发表于 2023-4-25 16:20:43

想做一个 网站自动登入查询...有验证码 怎么处理??

本帖最后由 kk_lee69 于 2023-4-26 13:49 编辑

想做一个 网站自动登入查询

https://member.cht.com.tw/HiReg/ ... 72a5a11ca74dbd9c3c&

但是有验证码 就不知道要怎么处理了…..

有这方面的范例 可以参考的吗??

還是 可以從聲音下手

能夠 WAVE TO TXT變成文字??

zghwelcome 发表于 2023-4-25 16:25:40

使用cookie, 或内嵌IE

fybhwsx 发表于 2023-4-25 16:57:13

帮顶,我也想知道,很多自动操作都卡在验证码了。。

fybhwsx 发表于 2023-4-25 16:58:27

如果没有背景干扰,可以用OCR试试,若有背景干扰的就不好使了。

krznz 发表于 2023-4-25 20:37:46

AU3应用GdiPlus预处理和识别验证码函数详解 https://www.autoitx.com/forum.php?mod=viewthread&tid=20741&fromuid=7670150 (出处: AUTOIT CN)

kk_lee69 发表于 2023-4-26 11:09:01

krznz 发表于 2023-4-25 20:37
AU3应用GdiPlus预处理和识别验证码函数详解 https://www.autoitx.com/forum.php?mod=viewthread&tid=20741& ...

這個網站 可以聲音驗證   可以從聲音驗證下手 轉成數字嗎??

繁星 发表于 2023-4-27 00:03:49

你这种验证码自己搭建训练下应该没问题,通用模型测试识别结果如下


测试:https://www.autoitx.com/thread-73234-1-1.html
训练模型:https://github.com/sml2h3/dddd_trainer
部署模型:https://github.com/sml2h3/ocr_api_server

kk_lee69 发表于 2023-4-27 08:39:04

本帖最后由 kk_lee69 于 2023-4-27 11:35 编辑

繁星 发表于 2023-4-27 00:03
你这种验证码自己搭建训练下应该没问题,通用模型测试识别结果如下



能夠請教一下怎麼應用嗎??

我所知道的是驗證碼的網址 即使是 同樣的jimage.jpg?1682555每次出現的都不一樣

那麼 我程式 登入的時候   抓取到了現在用哪個網址
再分出 副程式讀取 這個網址的圖片   所得到的 也跟原本的不一樣

這樣要怎麼應用呢??

不好意思 問題蠻白癡的不過我真的對於網站認證 一竅不通麻煩解惑一下謝謝



繁星 发表于 2023-4-30 11:52:54

同session带Cookie请求,验证码后面带的是时间戳,有没有校验,登录抓包测试才知道,这网站大陆没法登陆

kk_lee69 发表于 2023-5-2 08:20:02

繁星 发表于 2023-4-30 11:52
同session带Cookie请求,验证码后面带的是时间戳,有没有校验,登录抓包测试才知道,这网站大陆没法登陆

在你的幫助下 我已經了解 ddddocr离线版 怎麼用了,非常感謝

但是我 上面的問題 還是 不知道怎麼解決

所以不知道是否 可以 麻煩妳寫一段 範例程式預想對方網站會怎麼回復,然後我在實際模仿測試看看,這樣我比較好有個方向 下手

zzwwdd 发表于 2023-5-3 07:47:43

如果右键点验证码图片 上面的字符不会改变的话,可以先下载验证码图片,放在自建的web服务器目录下,用ddddocr离线版读取后存入本地ini文件内,再读取ini文件 写入网站的验证码输入框内

zzwwdd 发表于 2023-5-3 07:52:14

#AutoIt3Wrapper_UseX64 = n
#include <GDIPlus.au3>
$bjiniwj = 'D:\sz.ini'

;$hGUI = GUICreate("DDDDocr", 900, 380)
GUISetState()
_GDIPlus_Startup()
InitModel()


;For $i = 0 To 29
;        Local $x = 180 * Mod($i, 5) + 5, $y = 60 * Floor($i / 5) + 10

        $dImage = InetRead ("http://127.0.0.1/yzm/xz.jpg" );& $i, 1

        $hImage = _GDIPlus_BitmapCreateFromMemory($dImage)
        ;$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
        ;_GDIPlus_GraphicsDrawImageRect($hGraphics, $hImage, $x, $y, 170, 40)
        Local $img = DllStructCreate('byte[' & BinaryLen($dImage) + 1 & ']')
        DllStructSetData($img, 1, $dImage)
;        GUICtrlCreateLabel('Online:' & _Httpdddd($dImage) & ' Offline:' & Identify($img, $dImage), $x + 5, $y + 45)
                        If IniWrite($bjiniwj, 'yzm', 'yzm', Identify($img, $dImage)) Then
                                exit
                                endif

        _GDIPlus_ImageDispose($hImage)
;        _WinAPI_DeleteObject($hGraphics)
;Next
_GDIPlus_Shutdown()
FreeModel()

While True
Switch GUIGetMsg()
    Case - 3
      ExitLoop
EndSwitch
WEnd

Func InitModel()
        Local $Result = DllCall(@ScriptDir & '\ddocr_qs.dll', 'bool', 'InitModel', 'int', 6, 'bool', True)
        Return $Result
EndFunc

Func Identify($img, $imlen)
        Local $Result = DllCall(@ScriptDir & '\ddocr_qs.dll', 'str', 'Identify', 'ptr', DllStructGetPtr($img), 'int', BinaryLen($imlen))
        Return $Result
EndFunc

Func FreeModel()
        Local $Result = DllCall(@ScriptDir & '\ddocr_qs.dll', 'bool', 'FreeModel')
        Return $Result
EndFunc

Func _Httpdddd($img)
        Local $bData = Binary('---' & @CRLF & _
                'Content-Disposition: form-data; name="image"; filename="image"' & @CRLF & @CRLF) & _
                StringTrimLeft($img, 2) & StringTrimLeft(Binary(@CRLF & '-----'), 2)
        Local $oHttp = ObjCreate('WinHttp.WinHttpRequest.5.1')
        $oHttp.Open('POST', 'http://42.192.1.233:9898/ocr/file/text', True)
        $oHttp.SetRequestHeader('Content-Type', 'multipart/form-data;boundary=-')
        $oHttp.Send(Binary($bData))
        $oHttp.WaitForResponse()
        Return BinaryToString($oHttp.ResponseBody())
EndFunc
页: [1]
查看完整版本: 想做一个 网站自动登入查询...有验证码 怎么处理??