我正试图使用C#中的selenium-webDriver绕过Discord帐户注册中的hCaptcha。我正在使用CapMonster Cloud API来解决captcha本身,作为响应,我得到了绕过令牌。
我目前遇到的问题是,我找不到需要调用/提交的回调函数,以便传递hCaptcha。
我正在将旁路令牌设置为";g-repatcha-response";以及";h-captcha-response";textareas,但找不到定位和调用回调函数的方法。没有要提交的表格。
在C#中使用selenium-webDriver
10/10建议使用:进行不一致的captcha旁路
PuppeteerExtraSharp/ExtraStealth
(因为硒有一些明显的示踪剂(
Puppeter在其API中有更多的自由度,而且2capthca是解决h-captchas 的一种更流行的方法
我知道这不能回答你的问题,但如果你没有得到更传统的答案,我希望你把它作为一个潜在的更好的选择。
您可以使用Anti-Captcha.com插件来完成这项工作,该插件将自动完成这项任务。它注入自己的回调,所以当令牌准备好时,它会提交表单。如果你在插件方面遇到问题,这里的支持人员会帮助你。
Web通信必须在此页面上定义的方法之一中进行
因此,如果有任何东西从服务器发送和接收到浏览器,它必须是这些方法中的一种。通常最常见的方法是POST
和GET
。
声明";没有要提交的表格";有些令人困惑。表单只是从用户那里收集数据的字段的显示。如果网站不需要用户输入,他们不会显示表单。相反,他们会捕获所需的数据,并向服务器发送POST请求(用户永远不会注意到(,其方式类似于表单发送数据的方式。这是几乎所有主要网站的正常行为。谷歌分析代码就是一个例子。
因此,您需要查找的是POST
请求(主要是PUT
,可能取决于GET
(,其中您要查找的数据是received
或sent
。
在您的案例中,确实有一个表单显示captcha(这就是您所看到的(和相关的POST
请求,它可以满足您的需求。
Url for the post request on the captcha is POST /getcaptcha?s=xxxxxxxx-xxxe-xxxx-xxxx-xxxxxxxxxxxx HTTP/3
Url where it is sent is POST /api/v9/auth/register HTTP/3
这些基础知识适用于任何网络通信,而不仅仅是有问题的网站。