/
The most fundamental protocol submission analysis of reCaptcha (for those who do not know how to submit, refer here)

The most fundamental protocol submission analysis of reCaptcha (for those who do not know how to submit, refer here)

很多刚刚学语言刚刚学爬虫的新人连POST都不知道是什么,

但是却要挑战地球最强验证码reCaptcha。

 

我们以这个网站为例:https://www.gia.edu/report-check?reportno=7328756202

首先假设你已经会调用接口生成g-recaptcha-response了

就是下面这一串:

03AEkXODD5JEeoOMUbZf-KgVnarLnGCtt-sTAOZNUH7-tb7LVkS5vHmKoOT7FsP295t6fKVRrZs7UnudWy4mB4vzkVLaWFu_fJ6onxlhwtzELECYFrobIQTRFfw_F_JQgHOolAck7Hs09j0l-SLtDh5Eh3DtZig31Noh_bkdcNrdzD83Mc2pTpUh01afQ-eHWVsBN7h504iG56XMde754Hqynn6y8CIdnYWC-a1SGXUXeFS0tBUAyivWkHH1gjzXjYL1FlD2hxB-bQyjITD9ODQ29-pXv3fAKw4JxB9ASfIDZo2j8KQTbrTBQ1RwaPXxVl1Qv3rpvJccTTWRo0CGsV9_vfzTsTFXEoGvATewr0C0PauY7rUB9Z6trHksrsSHvPHQtD3FpFr1Z678J1qo6WTNL0w6bM8Oz6kKOUsdsYkw4DsC_sI_6WQv622FOQkYJz3CfL9F9Gs0cQgNb0A7Z8EhXgFLu4yG1fS5UDEmwM-SFdrH8beuGqYwcqhGzM1dYhnLC8y3JJpoc61rFIZzAqGUlE1r9NTgHzzw

如果还不会,请先详细阅读基础教程:

 

网站验证码是这样的:

很明显,识别之后点击SUBMIT按钮,就会将验证码识别结果,

也就是上一步生成的token值(g-recaptcha-response)提交给网站

那倒底提交到哪里,就需要我们打开浏览器调试

打开浏览器,按F12,再点击Network,就可以看到所有发送的网络请求

这时候,我们去点击验证码提交按钮,注意网络请求里面就出现了一个POST请求,

如下图所示:

点开这个请求,首先他是POST请求,然后我们再点开Payload选项卡,这里就是所有提交的内容

注意看里面,就有一个参数名叫grecaptcharesponse,对应的值正好是刚才我们提到的那串03A开头的字符串,这个就是验证码的识别结果,这里就是提交给网站进行验证。

所以,我们只需要写代码,实现一个一模一样的提交过程就可以了

以Python为例:

以下代码未验证,仅做提交例子供参考

import requests data = { "grecaptcharesponse": "03AEkXODD5JEeoOMUbZf-KgVnarLnGCtt-sTAOZNUH7-tb7LVkS5vHmKoOT7FsP295t6fKVRrZs7UnudWy4mB4vzkVLaWFu_fJ6onxlhwtzELECYFrobIQTRFfw_F_JQgHOolAck7Hs09j0l-SLtDh5Eh3DtZig31Noh_bkdcNrdzD83Mc2pTpUh01afQ-eHWVsBN7h504iG56XMde754Hqynn6y8CIdnYWC-a1SGXUXeFS0tBUAyivWkHH1gjzXjYL1FlD2hxB-bQyjITD9ODQ29-pXv3fAKw4JxB9ASfIDZo2j8KQTbrTBQ1RwaPXxVl1Qv3rpvJccTTWRo0CGsV9_vfzTsTFXEoGvATewr0C0PauY7rUB9Z6trHksrsSHvPHQtD3FpFr1Z678J1qo6WTNL0w6bM8Oz6kKOUsdsYkw4DsC_sI_6WQv622FOQkYJz3CfL9F9Gs0cQgNb0A7Z8EhXgFLu4yG1fS5UDEmwM-SFdrH8beuGqYwcqhGzM1dYhnLC8y3JJpoc61rFIZzAqGUlE1r9NTgHzzw", "recaptcha_src": 0, "reportno": "undefined" } url = "https://data.gia.edu/RDWB/VerifyRecaptcha" result = requests.post(url, data=data).text print(result)

一般来说,如果提交正常,会返回正确的结果,提交错误,则返回错误的结果

但是上面的例子肯定是错误的,因为网站在提交的可能会验证包括cookies等内容。

但大致提交和分析原理就是这样。

如果您现在还不知道如何获取cookies,以及如何模拟headers的话,

建议您先学习爬虫入门基础知识。

 

或者直接使用我们的模拟点击插件:

 

Related content

Basic analysis of the reCaptcha protocol submission (for those who do not know how to submit)
Basic analysis of the reCaptcha protocol submission (for those who do not know how to submit)
More like this
reCaptcha最最基础的协议提交分析(不会提交的看这里)
reCaptcha最最基础的协议提交分析(不会提交的看这里)
More like this
Python DEMO:Submitting via the requests protocol requests_ demo.py
Python DEMO:Submitting via the requests protocol requests_ demo.py
More like this
Introduction to the thought process behind submitting the Google reCaptcha protocol
Introduction to the thought process behind submitting the Google reCaptcha protocol
More like this
A simple simulated submission example for reCaptchaV3
A simple simulated submission example for reCaptchaV3
More like this
Python DEMO:Simulating submission via Selenium demo_selenium.py
Python DEMO:Simulating submission via Selenium demo_selenium.py
More like this