您的位置:首页 > 运维架构

使用OpenDNS时,如何可以正常使用google的网页快照

2009-09-05 21:05 561 查看
以前用OpenDNS的时候,发现,使用google.cn时,无法使用google的网页快照,打开为空白页面。最初,我以为是谷歌的功能又被政府给阉割了,所以也没在意。最近,我把DNS改为自动分配,结果发现快照又可以访问了。于是,我又把DNS换回使用OpenDNS,结果又不行了。
我开始怀疑是不是伟大的墙GFW在后面捣乱了。结果,发现了端倪。当使用OpenDNS时,其谷歌快照的URL是这样的,我举个例子,比如我搜索Hello,



打开第一项的快照,结果显示是空白页面,其URL如下: http://74.125.127.160/search?q=cache:QzMhUCC4zBoJ:www.hellomagazine.com/+Hello&cd=1&hl=zh-CN&ct=clnk&gl=cn&st_usg=ALhdy2_P939z5x89nwS5090R6zW9y9ynNA 查看前面的ip 74.125.127.160,是在美国的。这下大家明白了吗?当我们使用OpenDNS时,其快照的内容取自google的美国服务器,由于GFW的存在,所以被墙了,除非你换用国内的DNS。不过国内的dns服务器,动不动就被攻击或搞DNS劫持,实在是不想用。那有什么办法解决这个问题呢?根据网上搜到的文章解析,GFW是根据search/?q=cache:来判断是不是google快照的,所以我们只需要把这个url稍微修改下,改成search/?&q=cache:来就可以了,怎样,可以访问了吧。不过,每次这么手动改,实在是麻烦,那有自动改的Firefox扩展吗?这里,我向大家推荐一个Firefox扩展 ---  Greasemonkey(油猴子)。
以下是步骤:
1. 安装Greasemonkey, 网址是https://addons.mozilla.org/zh-CN/firefox/addon/748



装完后,重启Firefox。
2. 将以下的脚本存为一个js文件,注意,文件名以.user.js结尾

// This is a greasemonkey script, for use with the Firefox extension Greasemonkey.
// More info: http://greasemonkey.mozdev.org/ //
// ==UserScript==
// @name         Google Cache
// @version      1.0.1
// @author       sunwan
// @e-mail       bws@cnnj.8866.org
// @description Fix google cache to work in china
// @namespace    http://www.cnnj.8866.org/download/greasemonkey/ // @include      http://www.google.com/* // @include      http://www.google.cn/* // @include      http://www.google.cn/* // ==/UserScript==
var fixed = false;
document.addEventListener('click', catchEvent, true);
function catchEvent(e) {
if ( /\/search\?q=cache:/.test(e.target.href) ) {
e.preventDefault();     // disable click before fixed
}
if ( fixed ) {
document.removeEventListener('click', catchEvent, true);
}
}
function checkPage() {
if (/^http:\/\/www\.google\..+\/search\?/i.test(location.href)) {
var els = document.getElementsByTagName("a");
for (var i = 0; i < els.length; i++) {
try {
if ( /^[^\/]+\/\/[^\/]+\/search\?q=cache:/.test(els[i].href) ) { //is cache
els[i].href = els[i].href.replace(/\/search\?q=cache:/,'/search?&wc=zf&q=cache:');// replace the href
}
} catch (e) {}
}
fixed = true;
}
}
checkPage();

文件下载 : googleCache.user.js

3. 用Firefox将保存的js文件打开,Greasemonkey会自动识别出来,只要安装即可。 接下来,你就可以使用google.cn和google.com的网页快照了。

如果你用ie的话,也有相同功能的插件Trixie,其网址为http://www.bhelpuri.net/Trixie/, 具体的细节可以参考其网站上的介绍,注意安装Trixie需要先安装微软的.Net Framework。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: