遇到的问题
“半墙”是我生造出来的概念,是指某些本身可以正常访问,但页面引用了被屏蔽站点资源的一类网页。浏览器在访问这些网站时需要等待屏蔽站点返回数据以便完成网页渲染,这就造成了访问这些网页极其缓慢。
比如使用谷歌字体fonts.googleapis.com
的一些博客。如这本开源书籍的网页(15年1月18日):A Programmer's Guide to Data Mining.
使用VPN当然是上上之选,但是我只有免费又不稳定的GoAgent,如果使用这类免费代理,有时刷出页面的时间还不如乖乖等待浏览器自己超时放弃来得快。
意外的解决
一个有趣的解决方案是:运用自定义规则,在代理未开启的情况下,使用浏览器的自动代理切换扩展加速访问。
自动代理切换扩展,比如 Firefox 的 FoxyProxy, Chrome 的 Proxy SwithySharp. 它们能够接管所属浏览器的代理访问,而且均能使用自定义代理规则智能地决定何时使用代理。而当代理软件未开启时,这类扩展如果处于开启状态,就等于访问请求直接拐进死胡同,浏览器会立即接到拒绝信号。所以运用此法有两个要件:
- 运用自定义规则。
- 不开启代理软件。
以 FoxyProxy 为例:
- 将
fonts.googleapis.com
添加进自动使用代理的规则列表中;- 开启 FoxyProxy 的自动切换功能:选中
使用基于其预定义模板的代理服务器
;
这样访问范例网站时,被墙的部分会被 FoxyProxy 拦下,又因为没开代理,立即就会返回无法访问的信息;而页面的其他部分,被 Firefox 正常地渲染呈现。这样,虽然最终呈现的页面并不完整,但是却大大加快了访问速度。
额外的收获
讨论区中,Button 介绍了一种修改 Hosts 文件的方法。
把
fonts.googleapis.com
指到127.0.0.1
。直接使字体加载失败,损失一些美观度,节约等待时间。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。