前阵子打Codeforces(以下简称CF),每次比赛的时候都要等待网页刷新。不是我这里网速慢,应该是国内的普遍现象吧。然而最狼狈的一次,当我刷新出题目页面的时候比赛已经开始5分钟了,这让我很苦恼。我也曾经使用过代理超人,访问加速了一些,然而我每次都必须在比赛前寻找和测试当天最新的国外高匿代理。虽然写了个程序可以从网页上自动提取当日可用代理IP,但验证上千个IP也需要数分钟的时间(即使线程开到100),况且可以刷新网页而不给你断网的服务器太少了(一般比赛前网络通信正常,然而比赛开始时再次刷新网页的时候代理服务器就罢工了)。
 
    后来,由于稳定性无法保证,我放弃了代理。我在尝试分析CF网页的过程中找到了一行代码:
 
<link href='//fonts.googleapis.com/css?family=Cuprum&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
 
    这行代码意味着CF使用了谷歌字体库(国内大部分网段对谷歌服务器的访问速度都比较慢,有时甚至无法连接。从今年六月开始,国内WordPress的站长们也陆续将谷歌字体库本地化或使用国内镜像),并在完整加载字体后才能显示全部网页内容,否则已经加载出来的内容也不予显示。
 
    好,问题找到了,现在要解决这个问题。最简单的办法就是在浏览器刷新网页的时候直接查看已经从CF服务器下载的代码,这个在Chrome中十分常容易办到的,但却不方便。
 
    经过几分钟的思考,我打算重定向谷歌服务器。查看过一些网上的资料后,我发现多数寻求解决方案的是WordPress的站长,他们的解决办法比较复杂,而且是针对服务端的。虽然我不能把这些方案推荐给CF(即使可以,也只有中国地区可用),但是我发现了一个很好的谷歌字体库的镜像。
 
    这个镜像是360提供的(http://libs.useso.com/),而且国内普遍反映该服务器稳定性和速度均较好。接下来的问题就是把360的镜像字体库“嫁接”到原谷歌字体库上。一个最简单的办法就是修改HOSTS文件(虽然我一般不主张动这个文件,但是像这种永久有效的服务器必要时是可以使用的)。
 
    首先找到360镜像字体库的IP(183.136.133.218),然后加入HOSTS即可。具体操作步骤如下(Windows用户):
    1.在资源管理器的地址栏中填写“%SystemRoot%\System32\drivers\etc”并进入。
    2.右键单击“HOSTS”文件,选择“属性”,确保“只读”未被勾选。
    3.双击HOSTS,选择记事本打开,在最后添加以下两行(第二行的“fonts.gstatic.com”是CF有时会选取的另一个谷歌字体库服务器,我在分析代码时发现的):
  【注意:IP与域名之间不是空格,而是制表符('\t'),按tab键可输入】
  也就是打开systm32\drivers\etc,里面有个hosts文件,没有后缀名,用记事本打开就行,然后就在在下面添加这两行
183.136.133.218 fonts.googleapis.com
183.136.133.218 fonts.gstatic.com
然后保存就好了。
    4.保存HOSTS文件。
    
    OK,就是这样了,你现在再上CF是不是感到前所未有的流畅啊?

解决codeforces访问慢的问题的更多相关文章

  1. 解决Codeforces访问慢的本地方案

    参考: http://m.blog.csdn.net/blog/Xiangamp/42245923#

  2. 转: 解决Github访问超慢问题

    转自:http://zengrong.net/post/2092.htm 解决Github访问超慢问题 Github is so slowly. 这段时间访问 github 都非常慢,google了一 ...

  3. Ubuntu server解决不能访问外网问题

    Ubuntu server解决不能访问外网问题 在Ubuntu Server上设置访问外网时,需要设置dns,通常是将dns添加到/etc/resolv.conf文件中. 但是将dns添加至/etc/ ...

  4. 解决电脑访问Discuz!手机版(支持触屏版)

    discuz电脑访问手机版的方法现在需要来修改一下2个文件,即可用电脑浏览discuz的手机版本:找到./source/function/function_core.php 文件,查找 : funct ...

  5. 解决Github访问超慢问题[自己留档]

    解决Github访问超慢问题 Github is so slowly. 这段时间访问 github 都非常慢,google了一下发现是github某个CDN被伟大的墙屏蔽所致. 出问题的应该是这个CD ...

  6. Win10解决无法访问其他机器共享的问题

    Win10解决无法访问其他机器共享的问题     你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问.这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁. 管理员身份执 ...

  7. Ubuntu 14.04 下解决maven访问速度慢问题

    参考: maven国内镜像(maven下载慢的解决方法) maven中央仓库访问速度太慢的解决办法 Ubuntu 14.04 下解决maven访问速度慢问题 在启动OVX的时候,由于sh脚本中需要使用 ...

  8. 解决github访问过慢问题

    解决github访问过慢问题 主要原因: DNS 自动解析较慢 http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo 用文本编辑器打开ho ...

  9. Vue解决接口访问跨域问题

    随手摘录 Vue解决接口访问跨域问题 1.打开 config -> index.js 2. 找到proxyTable 3.粘贴 如下代码,'https://www.baidu.com'换成要访问 ...

随机推荐

  1. 面向对象基础(class0425)字符串与集合

    常用类库 学习.net就是学习它的无数个类库怎么用,先看两个简单的 String 字符串,不可变特性.字符串可以看成字符数组 属性 Length 方法 IsNullOrEmpty() 静态方法 ToC ...

  2. class0513(html)

    精通DIV+CSS Meta 1.div span 2.三种样式表 内联样式(行内样式) 嵌入样式 外部样式 就近原则 3.常见样式 复合样式background border css单位 % px ...

  3. Extjs4 MVC Controlller中refs使用

    前面几篇写了一下mvc的整体使用方法,今天写一下controller中refs的试用,refs的作用类似于我们告诉controller我们的一个元素的别名,既alias,那么controller就会为 ...

  4. jsonp实现跨域请求

    在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的.但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的. $.ajax({ async ...

  5. Activity的lanuchmode

    假设: 假设栈有A-B-C-D,四个activity.其中D Activity在栈顶 standard: 此时跳转到D Activity,跳转后栈的情况是A-B-C-D-D singleTop: 此时 ...

  6. Android的Spinner

    使用Spinner遇到不少坑啊 3.自定义spinner样式 <style name="AppTheme" parent="Theme.AppCompat.Ligh ...

  7. SQL2008-表对表直接复制数据

    1.全部复制,使用简单,但是字段容易出错(字段和顺序必须相同)  INSERT INTO AAAStuffAgitationYield SELECT * FROM StuffAgitationYiel ...

  8. hdu 3617 Happy 2009

    Happy 2009 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  9. 射频识别技术漫谈(7)——ID卡【worldsing笔记】

    ID(Identification)是识别的意思,ID卡就是识别卡.ID卡包含范围广泛,只要具有识别功能的卡片都可以叫ID卡,例如条码卡,磁卡都可以是ID卡,我们这儿说的当然是射频识别卡. 射频ID卡 ...

  10. 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)

    由于在使用window.open时,在很多情况下,弹出的窗口会被浏览器阻止,但若是使用a链接target='_blank',则不会,基于这一特点,自己封装了一个open方法: function ope ...