这个例子清楚地展示了如何自动化"GeeTest"captcha解决方案。 在示例中,captcha在演示页面上被绕过,但绕过captcha的原理在任何地方都是相似的。
git clone https://github.com/dzmitry-duboyski/GeeTest-demo.git
npm install
npm run start
Geetest安全平台用於許多流行網站。 在本手冊中,描述瞭如何成功使用2Captcha和Puppeteer服務進行Geetest安全檢查。 為了成功檢查支票,您必須在2captcha.com服務中擁有一個帳戶。
此示例描述瞭如何在演示頁面上破解geetest https://2captcha.com/demo/geetest
-
在網站頁面上找到Geetest參數
gt
,challenge
,api_server
:1.1. 您可以在頁面代碼中找到
gt
的值。1.2 尋找
challenge
有點複雜。 為此,您需要在此頁面上找到該請求,此請求必須包含challenge
的值。該請求的答案將採用以下格式:
{"success":1,"challenge":"21aaa1c62221631516179b492b9e80cc","gt":"81388ea1fc187e0c335c0a8907ff2625"}
. 从这个答案中,有必要采取challenge
的价值。在页面https://2captcha.com/demo/geetest上,这将是https://2captcha.com/api/api/v1/captcha-demo/gee-test/。对此请求的响应包含必要的`challenge`。
回答:
{"success":1,"challenge":"21aaa1c62221631516179b492b9e80cc","gt":"81388ea1fc187e0c335c0a8907ff2625"}
.您可以阅读有关“challenge”的更多信息此页面
-
将GeeTest发送到API。
要求解验证码,有必要将GeeTest参数发送到API。 参数:
"key":"your_api_key",
"method":"geetest"
"pageurl":"https://2captcha.com/demo/geetest"
"gt":"81388ea1fc187e0c335c0a8907ff2625",
"challenge":"21aaa1c62221631516179b492b9e80cc"
- 得到答案:
接下来,2captcha服务将解决captcha,API将返回包含答案的响应(GeeTest解决方案)。 包含GeeTest溶液的示例:
{
"status": 1,
"request": {
"geetest_challenge": "fd4847c8a368356a0e3a6636392c2854k9",
"geetest_validate": "4606cdf89c8c2e5a43c5a14fe475fc40",
"geetest_seccode": "4606cdf89c8c2e5a43c5a14fe475fc40|jordan"
}
}
- 如何处理解决方案? 结果值必须插入到包含此"GeeTest"的页面上的相应"html"元素"GeeTest"中。
例子:
<div class="geetest_form">
<input type="hidden" name="geetest_challenge" value="fd4847c8a368356a0e3a6636392c2854k9">
<input type="hidden" name="geetest_validate" value="4606cdf89c8c2e5a43c5a14fe475fc40">
<input type="hidden" name="geetest_seccode" value="4606cdf89c8c2e5a43c5a14fe475fc40">
</div>
完成了。 之后,您可以继续在页面上执行操作。 在此示例中,之后单击"检查"按钮。
源代码可在文件index.js