如何在中国以免【爬城】的体位下使用Google的reCAPTCHA
前言:
在中国,每每用到clipconverter时下载youtube上的视频,reCAPTCHA一直没有加载出来.
后来意识到Google的人机验证好像在中国不能用.
……
这是就进入前有狼后又虎的尴尬状态了
,,ԾㅂԾ,,.
不代理,人机验证加载不出来,挂代理,50Mbps的代理速度估计是要把我活生生等死.
为什么在中国不能用??????
自2014年5月27日后,Google 公司的各项服务遭到疑似来自不可告人的秘密
的善意干扰,导致中国大陆地区的用户无法正常使用其服务的事件。自当天起,来自中国大陆的用户发现 Google 旗下的各个分站以及 Google 的其他服务(Google 搜索、Google Play、Gmail 等)均无法正常访问与使用,所有 google.cn 以外的 Google 服务均受影响无法使用,用户甚至无法登陆 Google 账户。然而,不同于 2009 年至 2013 年仅针对敏感时期的行为规律,XX运动纪念日结束后攻击者对 Google 的善意打扰仍未停止。——维基百科
而 reCaptcha 人机验证就是 Google 的服务之一。所以,reCaptcha 也没能逃过这次封锁,才导致国内 reCaptcha 验证码无法显示。
现在打个岔
本文图片较少,故接下来要强制添加图片:
哈哈哈哈哈哈哈哈(●’◡’●)开玩笑.
reCaptcha有哪些,有什么用?
reCaptcha有三个版本V1、V2、V3,通常现在使用的是v2.
这些往往在原网站上的去,又用上recaptcha的网站,比如谷歌镜像之类的。
试图解决:
直接绕开:
既然你不让我用,那我就不用了.(¬︿̫̿¬☆)
打开开发者工具
找到js脚本,指向空白.
当然这样行不通了.
ATP
就是Ass-To-Pussy
w(゚Д゚)w我在说什么????千万不要点链接啊啊啊!
呸呸呸,就是指在爬出去的情况下通过人机验证,再回来下载.
而这也很快被防盗链挡住了.
emmmmmmm……
后来解决:
其实大家都没想到,reCaptcha在国内还是有镜像的.
网址是:http://recaptcha.net,很简单暴力的域名.
甚至连维基中文都认为镜像网址挂了。因为你直接打开,恭喜,你会收获这个
Not Found
Error 404
于是就孪生了两种方法:
小白解法:
Tampermonkey脚本:(感谢原作者an_anthony的贡献!)
// ==UserScript==
// @namespace xyz.tree0
// @name reCaptcha 验证码镜像加载
// @description 替换使用官方地址的 reCaptcha 为官方镜像地址,让墙内用户的 reCaptch 能正常显示。
// @description 似乎只能用于 reCaptcha v2
// @author an_anthony
// @version 0.1.2
// @grant none
// @match *://*/*
// ==/UserScript==
var scrArr = document.getElementsByTagName("script");
for(var k = 0;k < scrArr.length;++k)
{
if(scrArr[k].src !== null && scrArr[k].src.indexOf("https://www.google.com/recaptcha/api.js") != -1){
var scrAppend = document.createElement("script");
scrAppend.src = scrArr[k].src.replace("google.com","recaptcha.net");
scrAppend.type = "text/javascript";
scrAppend.async = true;
scrArr[k].parentNode.appendChild(scrAppend);
scrArr[k].parentNode.removeChild(scrArr[k]);
alert("已替换该页面的 reCaptcha 地址,如果还未显示出 reCaptcha Logo,请稍等(约30s)");
break;
}
}
Attention!
对那些使用了 Content-Security-Policy 属性的网站无效。Content-Security-Policy 属性会验证资源的地址,导致更换的镜像地址被阻止。如果你查看了 F12,会发现很多类似下面的错误信息:Refused to load the script ‘xxx’ because it violates the following Content Security Policy directive
解决方案:请使用大神解法:
大神来此:
打开开发者工具,搜索www.google.com/recaptcha/api.js
.com
之类的以情况而定.
接着把他替换成https://recaptcha.net/recaptcha/api.js
等一会儿就好了.
其实这与js原理相同,但此种解法在CSP检测完成后进行,相当于绕开CSP。
完毕!
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!