使用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。
我开始怀疑是不是伟大的墙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。
相关文章推荐
- 使用OpenDNS时,如何可以正常使用google的网页快照
- 中国Google网页快照可正常使用
- 如何正常的使用Google的服务
- 如何不安装SQLite让程序可以正常使用
- 如何正常使用Google的服务
- 创建快捷方式,如何保证移动目标文件后可以正常使用
- 中国Google网页快照可正常使用
- 中国Google网页快照可正常使用
- 关于如何正常使用google的各项搜索服务的一个方法
- 如何使用Panel来实现一个可以从屏幕边缘拖出或拖进的控制面板
- 如何使用google的日志库(glog)
- 如何稳定地使用 Google 搜索
- eclipse+Java2WSDL+WSDL2Java 2012-12-06 12:32:43| 分类: j2ee |举报|字号 订阅 一、eclipse下如何用axis生成wsdl 可以使用
- STK11.1.1withEOIR已经可以正常使用
- IE中使用google的搜索程序时总是先弹出“查看在google.com.hk上的搜索结果”页面,如何让其直接返回搜索结果?
- win7下工行U盾可以正常使用啦~~~
- 使用都客仿站高手下载后不正常如何解决?
- 如何使用google解决问题
- google play store终于能正常使用了
- 如何让CCLayer写的类可以到处 使用而不用改变任何基于坐标的代码(使用CCLayer.position)