Linux和Windows下,规避谷歌字体库的方法

Linux和Windows下,规避谷歌字体库的方法

  几乎所有的外国网站,或者一部分博客,都会调用google字体库。这个字体库因为众所周知的原因,其服务器并不能顺利地访问。浏览器只会等访问超时之后,自动跳过调用fonts.googleapis.com。

  浏览器判断访问超时的时间,通常都是很久的,这导致一个网站,实际上已经加载好了,但是就是迟迟不显示,或者不能正常工作,进一步导致我们查阅外网的资料变得极其迟缓,让人极其烦躁。前两天我在访问KiCAD的官网的时候,就发现,网站一直在请求fonts.googleapis.com。我一看这是个谷歌域名的,就大概明白了原因。点击一下放弃加载的按钮,也就是那个“X”,居然网页立刻就显示了出来。而就是说,整个网页都在等待这一个加载项,其他的早就已经ready了。

  关于这一点,各位可以在加载中的页面里,点击F12。一般的浏览器都会显示出网站的源码和console(控制台),在这里可以查看当前网页加载的error和warning。遇到这种加载字体库失败的网页,一般会有类似于一个加载fonts.googleapis.com失败的error。

  这就很僵硬,总不能每次都按f12调出网站源码,更改一下源码再重新加载吧?调研了一下午,发现解决方法是,改Host。

图文无关

  网友提出了一个很好的方法,按我的理解,可以描述如下:你们想,在Linux的Terminal界面上,命令的前面都有一个用户名和本地地址。这个在操作同一台电脑的时候都是一样的——如果你远程操作另一台电脑,这个本地地址的名字就会变,或者你去局域网内别的电脑上扒资料,也会变——这个地址理应是内部网的ip地址,显示在你的电脑上,却是一串英文——这是为什么呢?是Debian自身的Host主动把这个Ip地址识别为了你这段字母,类似于宏定义。同理,我要是把fonts.googleapis.com,每次都识别成别的Ip地址,比如USTCLUG(中科大Linux协会)自带的字体库镜像的话,不就可以重定向这个字体调用,绕开国外服务器,从国内服务器fonts.lug.ustc.edu.cn/读取字体了吗?说干就干。

  首先,用ping指令(以下是在Windows的Console上运行的结果,和linux的有差别但差别不大):

ping fonts.lug.ustc.edu.cn

正在 Ping gateway-el.cname.ustclug.org [202.141.178.13] 具有 32 字节的数据:
来自 202.141.178.13 的回复: 字节=32 时间=42ms TTL=48
来自 202.141.178.13 的回复: 字节=32 时间=42ms TTL=48
来自 202.141.178.13 的回复: 字节=32 时间=43ms TTL=48
来自 202.141.178.13 的回复: 字节=32 时间=39ms TTL=48

202.141.178.13Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 39ms,最长 = 43ms,平均 = 41ms

  可见非常快,延迟极小,没有丢包。记下这个IP地址,202.141.178.13,这个就是USTCLUG的字体库镜像的IPv4地址。然后再在linux的/etc/hosts文件内,加入一行:

202.141.178.13  fonts.googleapis.com

  这样,就可以把加载字体的过程重定向到国内的服务器,大幅加速国外网站(没有被墙的那些)的加载速度。Windows上这个方法也是可行的。只要在你的C:\Windows\System32\drivers\etc\hosts这个文件里加入同样一行(注意不要加#符号):

202.141.178.13  fonts.googleapis.com

  就可以实现上述功能。当然,你必须是管理员账户,或者被赋予了权限的其它账户。如何赋予修改host的权限,请自行百度。目前我加载外国网页的时候,没有再出现过加载谷歌字体库失败的问题(按f12即可查看)。如果在console里输入ping fonts.googleapis.com,也会向202.141.178.13,即USTCLUG的镜像,而不是境外的谷歌服务器,发送请求。

  目前,还有一个加载网页时的错误,即:Failed to load resource: net::ERR_CONNECTION_TIMED_OUT: www.google-analytics.com/analytics.js:1 这个问题应该也是类似,但我没着手去解决——据说这个脚本是谷歌用来搜集用户与网站互动的数据的,不加载其实更好,哼哼。

  还是要说,中国科学技术大学真是太棒了!

猜你喜欢

转载自blog.csdn.net/yuankx13ustc/article/details/82377823