前阵子打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. js基础第七天

    短信发送验证倒计时案例(常用) 关闭定时器clearInterval this 指向的是 事件的调用者 ,或者是函数的使用者. button 不可以用 disabled 不可用的意思 意思是变成灰色不 ...

  2. php self

    self是指向类本身,也就是self是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量. 假如我们使用类里面静态(一般用关键字static)的成员,我们也必须使用self来调用. 还要 ...

  3. delphi 删除目录和创建目录,临时文件夹

    获取用户当前的Windows临时文件夹function GetWinTempPath: string;varTempDir: array[0..255] of char;beginGetTempPat ...

  4. SQL2008-分页显示3种方法

    方法1: 适用于 SQL Server 2000/2005/2008 SELECT TOP 10 * FROM YieldRole WHERE id NOT IN ( SELECT TOP (10*( ...

  5. A Tour of Go Range continued

    You can skip the index or value by assigning to _. If you only want the index, drop the ", valu ...

  6. Android 命名规范和编码规范

    简明概要  多写注释 一.关于命名规范 对于开发项目来说肯定是要有统一的规范,然而命名规范需要做到哪几点呢? 答: 首先,不能反人类. 再来就是,要望文而知其意. 下面就来说说具体该怎么去规范我们的代 ...

  7. R 语言画图的基本参数

    R 语言画图的基本参数 点 点的种类 点的种类参数为 pch,每一种符号对应一个数字编号 # 点有25种,为了展示25种点 x = 1:25 y = 1:25 x ## [1] 1 2 3 4 5 6 ...

  8. fastjson把对象转化成json避免$ref

    转自http://blog.csdn.net/wxwzy738/article/details/30244993 DisableCircularReferenceDetect来禁止循环引用检测: JS ...

  9. DNS服务未响应的简单解决办法

    今天晚上下班回家,打开电脑,发现打不开网页了,同一个wifi环境下,我的手机是可以连接上的,网上搜了一大推,又是重启服务,又是重新填写dns服务地址,都不管用, 该怎么办呢??. 其实发现很简单,打开 ...

  10. appDelegate中的委托协议方法以及使用观察者模式获取其触发方法

    //当应用程序将要进入非活动状态执行,在此期间,应用程序不接受消息或事件,比如来电 - (void)applicationWillResignActive:(UIApplication *)appli ...