1. 程式人生 > >訪問Google Schoolar出現we are sorry...或者驗證碼等的解決方法

訪問Google Schoolar出現we are sorry...或者驗證碼等的解決方法

在搭建好梯子後卻發現訪問不了谷歌學術。

原因分析
可能的原因:

你的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地址。

在上面的連線中搜索學術,找到上面的資訊。