飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

Chrome插件开发小记:Google搜索结果直接打开

Author:飘易 Source:飘易
Categories:电脑技术 PostTime:2012-10-26 11:37:46
正 文:
    Chrome浏览器的市场份额在欧美已经进入了前三,还曾一度超过IE的份额位列第一。在国内,Chrome浏览器的使用者也是与日俱增,谷歌的全新网络浏览器Chrome以其简单,快捷的特点俘获了众多G粉的心。

    看看众多浏览器开发公司,如搜狗、360、腾讯等浏览器均集成了Chrome的核心webkit,就知道chrome的影响力正在逐步攀升。

    在平时使用谷歌搜索时,因为谷歌对搜索结果进行了跳转,比如我们在谷歌搜索“飘易”,第一个结果就是我的博客,但是看一下它的链接地址,却是:
http://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CB8QFjAA&url=http%3A%2F%2Fwww.piaoyi.org%2F&ei=ngKKUKuwAYrhiwKgzYCQDA&usg=AFQjCNGpboePN0Q1N714m47QA0LjnVypJQ

    为什么会这样?因为使用了加密的https网址 https://www.google.com.hk/ 进行搜索,这个时候是无法跟踪来源的,所以Google对网址进行了一次跳转以便统计搜索行为。当使用普通的 http://www.google.com.hk/ 进行搜索时,搜索结果是直接链接,没有中转链接。飘易目前观察到的是这样。

    回到正题。我在平时搜索的时候,由于各种不可控因素,经常会遇到google的中转链接打不开的情况,即使Google要跳转的网址可以打开,但是却死在了google的中转链接上。我相信也有不少人遇到这样的情况。

    飘易大致浏览了下Google Chrome开发者中心:http://developer.chrome.com/extensions/devguide.html,花了点时间开发出了一款Chrome插件“谷歌网址发现者”,这个插件可以自动检测google中转链接,然后不向谷歌服务器发送任何请求消息,直接请求目标网页。这个“谷歌网址发现者”扩展的下载地址在本文的结尾处。

    比如这样的中转链接:
http://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CB8QFjAA&url=http%3A%2F%2Fwww.piaoyi.org%2F&ei=ngKKUKuwAYrhiwKgzYCQDA&usg=AFQjCNGpboePN0Q1N714m47QA0LjnVypJQ

    我们只要检测当chrome请求的网址是 http://www.google.com.hk/url 的时候,就自动用正则取出 url= 的值,然后直接跳转到这个url即可。

    查看chrome开发者中心关于chrome.webRequest的介绍,我们知道 :

chrome.webRequest.onBeforeRequest
Fires when a request is about to occur. This event is sent before any TCP connection is made and can be used to cancel or redirect requests.

     意思就是 chrome.webRequest.onBeforeRequest 这个事件发生任何TCP连接之前,可以用于取消或转移请求网址。这个就是我们需要用到的事件。

    使用方法如下:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];

chrome.webRequest.onBeforeRequest.addListener(
  callback, filter, opt_extraInfoSpec);

    这里要说明一下,首次使用Google Chrome开发扩展,需要向Google支付一笔5美元的开发者注册费用,这个是一次性收费,开通后,就可以自由发布扩展并托管在webstore应用商店里了。飘易采用的招行信用卡,绑定一下google wallet电子钱包,然后支付了5美元即可。

【谷歌网址发现者】扩展下载地址:
https://chrome.google.com/webstore/detail/mmganefddlmbaiebejoioakcgcimbgla
使用方法,用chrome浏览器打开上述链接即可安装该扩展。安装扩展后就可以从Google搜索结果直接跳转到目标网站,不怕被墙了后打不开目标网站了。注意:如果目标网站本来就打不开,使用这个扩展也不会打得开。

【参考资料】:
1、Google Chrome extensions 开发文档
http://developer.chrome.com/extensions/devguide.html
2、360 Chrome 开发文档(中文)(翻译google的)
http://open.chrome.360.cn/extension_dev/overview.html
3、开发者信息中心(管理你的扩展)
https://chrome.google.com/webstore/developer/dashboard?hl=zh-CN
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:中兴TD-U281移动机卡绑定的刷机解锁方法
下一篇:百度升级算法开始打击链轮了
7条评论 “Chrome插件开发小记:Google搜索结果直接打开”
1 ahui
2012-11-1 11:34:13
不错。赞一个~~~~~~~~~~
2012-11-6 10:06:52
很好的分享,不错的文章
3 yeke
2012-11-22 10:08:26
赞一个 和实用~~~~~~~~~~~~~~~~
4 kanashimi4
2012-12-11 18:24:57
thanks!!这个应用很好解决了我的问题
5 googlefan
2013-1-1 20:18:32
你好,这个软件可以支持google.jp吗? 我发现国内上google.jp比HK快。。。
6 guest
2013-4-11 13:58:16
插件用的很舒服,google被临时性墙掉的几率大大降低了。但是最近又发现了别的问题:上个月google开始怀疑我使用自动工具进行搜索,总是在我搜索的时候让我输入一串验证码,这个月则直接禁止我搜索了,显示“We're sorry...... but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.”我的电脑上并没有这类软件,或者病毒木马之类的。经过查询我觉得是这样的:当使用谷歌进行搜索却没有打开任何网页(本插件的效果就是不通过谷歌打开)它会认为你在通过工具在窃取它的搜索结果,导致了后来的对我这台电脑的屏蔽。烦请作者查看下是不是有这样的问题,虽然这个插件对谷歌来说确实有点损失,但是此种行为是国情所致不得已而为之,我觉得在谷歌商店里发布的插件应该是获得了他们认可的。
7 飘易
2013-4-11 20:24:19
to guest:
你好。本插件不会增加任何额外搜索请求,也不存在“窃取”google搜索结果,只是在点击发生的时候,把加密的网址变成直接目标网站的地址,这个过程中没有其他请求。

你的这个问题,应该是其他插件,或电脑里有木马文件不断请求查询google导致,请尝试清空cookie、缓存,并杀毒。
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号