验证无法通过之类的问题(被风控),在此处为您解答(全版本通用!)
-
验证无法通过?被风控了?
都过来试试这个,不能说100%有效,只能说是极少数不行要使用的东西:Mirai客户端和Google或者Edge(可能会用到手机来接收验证码,最好准备一台)
步骤一:先打开Google或者Edge,接着按F12(Mac用fn+F12)进入开发者模式,然后在上面有个图标(手机和pc的图标)点进去,在左边就会显示选择的操作设备的界面,接着在左边的界面上找到 [尺寸] 这个选项,然后选择Pixel 5,即可!(如果说你的Mirai登陆方式是PAD,那就在上面选择安卓之类的pad界面,Watch就没办法了,IPAD的也可以找到)
接着,在右边(开发者操作面板的上方技能选项中找到控制带选项,如果没有就点击 “》” - 网络 - 控制台)
步骤二:把在客户端上弹出来的窗口上所需要的地址copy的浏览器上的地址栏,跳转到了之后,再次看向”控制台“,此时你只需要一串代码(代码会放在下方),将这串代码copy到控制台上,按回车,控制台上就会显示true即可进行滑块操作,一般会重复一次(即需要进行两次操作)
步骤三:进行完上述操作后,浏览器上会弹出一个窗口,上面面有一串地址(就是你需要copy的ticket),把那条地址copy到Mirai弹出的窗口中的回答栏里,就可以通过风控验证啦!!!
步骤四(你可能会用到):那当然是手机验证码啦,你手机能收到验证码就行!!!
这是上述操作提到的代码,一定要仔细地复制,少一个都不行!!!
/* * Copyright 2019-2021 Mamoe Technologies and contributors. * * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证. * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link. * * https://github.com/mamoe/mirai/blob/master/LICENSE */ !(() => { let prompt = window.prompt; // jsbridge://CAPTCHA/onVerifyCAPTCHA?p=....#2 /** * @type {string} url * @return {boolean} */ function processUrl(url) { let prefix = "jsbridge://CAPTCHA/onVerifyCAPTCHA?p=" if (url.startsWith(prefix)) { let json = url.substring(prefix.length); for (let i = json.length; i--; i > 0) { let j = json.substr(0, i) console.log(j); try { let content = decodeURIComponent(j); let obj = JSON.parse(content); console.log(obj); window.miraiSeleniumComplete = content; prompt("MiraiSelenium - ticket", obj.ticket) break; } catch (ignore) { } } return true; } return false; } (() => { let desc = Object.getOwnPropertyDescriptor(Image.prototype, "src"); Object.defineProperty(Image.prototype, "src", { get: desc.get, set(v) { if (processUrl(v)) return; desc.set.call(this, v) } }) })(); (() => { let desc = Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype, "src"); Object.defineProperty(HTMLIFrameElement.prototype, "src", { get: desc.get, set(v) { if (processUrl(v)) return; desc.set.call(this, v) } }) })(); (() => { let UserAgent = "${MIRAI_SELENIUM-USERAGENT}"; if (UserAgent !== "${MIRAI_SELENIUM-USERAGENT}") { Object.defineProperty(Navigator.prototype, "userAgent", { get() { return UserAgent } }); document.querySelectorAll("script").forEach(it => it.remove()); } })(); })()
END
希望需要的人可以仔细阅读这篇文章,操作其实不复杂的,操作和看过一遍的人,都会背下来记住了呢,听说那些人都是聪明人!!! -
此方法已失效!。。。