Beanfun icon indicating copy to clipboard operation
Beanfun copied to clipboard

有时候会有“我不是机器人”的人机检测,能把这个解决吗

Open 582302894 opened this issue 4 years ago • 5 comments

捕获 下面是网页登录出现的人机检测 捕1获

582302894 avatar Dec 22 '20 10:12 582302894

換梯子 ━━( ̄ー ̄*|||━━

582302894 avatar Mar 19 '21 09:03 582302894

解决此问题思路分析:

灵感

以前我做某宝登录时,是让浏览器窗口可以按需要显示出来的,当出现一些必需人工验证时,直接把默认为后台的登录页面显示到前台,并且,对内容上做出了修改,仅显示需要手动验证的大小窗口。

如果没有出现相关验证,此窗口就一直在后台执行。

使用了正则表达式,也对网页的 CSS 进行修改,屏蔽其他区域内容,以达到仅显示验证部分。

思路

由于并不了解 C# 的浏览盒子是怎么处理的,相信也能让网页窗口显示出来,只需要对此网页的内容进行区域屏蔽,仅让它显示 rc 验证部分,当然,点击登录按钮也许也要放出来。

如果没有出现此验证,就保持原有不显示,全程后台操作。

Tikas avatar Feb 26 '22 02:02 Tikas

解决此问题思路分析:

灵感

以前我做某宝登录时,是让浏览器窗口可以按需要显示出来的,当出现一些必需人工验证时,直接把默认为后台的登录页面显示到前台,并且,对内容上做出了修改,仅显示需要手动验证的大小窗口。

如果没有出现相关验证,此窗口就一直在后台执行。

使用了正则表达式,也对网页的 CSS 进行修改,屏蔽其他区域内容,以达到仅显示验证部分。

思路

由于并不了解 C# 的浏览盒子是怎么处理的,相信也能让网页窗口显示出来,只需要对此网页的内容进行区域屏蔽,仅让它显示 rc 验证部分,当然,点击登录按钮也许也要放出来。

如果没有出现此验证,就保持原有不显示,全程后台操作。

可以尝试使用CefSharp,期待更新

Pluseven7 avatar Feb 28 '22 03:02 Pluseven7

我一开始遇到这个问题的时候还以为是出了BUG,怎么出现弹窗“请点击我不是机器人”之后并没有弹出网页让我手动点。 后来去看了一下语言文件发现并没有这个错误信息,才反映过来这可能是网站那边传回来的错误信息。

这个主要麻烦的地方是不是因为作者pungin身在台湾所以根本不会出现captcha验证?(因为家庭宽带IP段可能在白名单里) 我看他也加了一个help wanted在这里,是因为复现不了吗?

Tikas的解决方案应该是最中规中矩的,虽然我并不是Web相关的专业,但我觉得这种操作看上去像是Headless Browser,不知道实现起来是不是比较困难。

NagaseYami avatar May 23 '22 04:05 NagaseYami

发现如果登录的时候选的是TW就会有机器人验证 但选HK的话就没有这个问题

FlyToEarth avatar Oct 07 '22 15:10 FlyToEarth