访问Google Schoolar出现we are sorry...或者验证码等的解决方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29303759/article/details/83825311

在搭建好梯子后却发现访问不了谷歌学术。

原因分析
可能的原因:

你的VPS被人用来做爬虫爬Google,IP被封
你的IPv4网段有人做爬虫,网段被封,躺枪
你的IPv6网段有人做爬虫,网段被封,躺枪
不过呢,Google一般不会把你的IPv4和IPv6地址全都封掉的。

解决方法
对于第一种情况,还是老老实实做好安全策略吧...第二和第三种情况我们可以换用没有被封的IP协议来解决

确定被封的IP
在通过如Shadowsocks使用Google时,如果出现验证码,那么页面下方会告知此时访问Google的IP地址,你就能看到具体是IPv4被封还是IPv6被封啦。

强制IPv4
如果是IPv6地址被封,我们可以强制VPS使用IPv4访问Google。

我的情况是VPS支持IPv4/IPv6双栈,但默认会采用IPv4访问,所以你最好检查一下是不是VPS的hosts设置的Google的IPv6地址,如果这样只需要把hosts注释掉就好了

禁止VPS的IPv6访问:
编辑/etc/sysctl.conf,在文件末尾加入:

# disable ipv6
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

重启Shadowsocks再访问Google应该就没问题了。

强制IPv6

如果是IPv4地址被封,我们可以强制VPS使用IPv6访问Google。

方法很简单,VPS的hosts中指定Google的IPv6地址就好了。编辑/etc/hosts,加入:

## Scholar 学术搜索
2404:6800:4008:c06::be scholar.google.com
2404:6800:4008:c06::be scholar.google.com.hk
2404:6800:4008:c06::be scholar.google.com.tw
2404:6800:4005:805::200e scholar.google.cn #www.google.cn

注意如上IPv6地址可能已失效,请参考ipv6-hosts/hosts at master · lennylxx/ipv6-hosts中提供的最新IPv6地址。

在上面的连接中搜索学术,找到上面的信息。

猜你喜欢

转载自blog.csdn.net/qq_29303759/article/details/83825311