前阵子打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. Jquery Ajax 异步设置Table中某列的值

    可根据table中某列中的ID去改变某列的值! 只是参考,实际应用中不能这样做的,如果有很多行,频繁访问服务器,服务器是顶不住的! JS: $(document).ready(function () ...

  2. 欢迎来到Googny的博客

    本博客主要分享笔者的学习知识,以及工程中遇到的技术问题. 由于笔者技术水平有限,博客不足之处在所难免,还请各位网友不吝交流,共同进步. 一起体会分享的乐趣. JavaScript 部分 该部分深入浅出 ...

  3. North America Qualifier (2015)

    https://icpc.baylor.edu/regionals/finder/north-america-qualifier-2015 一个人打.... B 概率问题公式见代码 #include ...

  4. leetcode@ [54/59] Spiral Matrix & Spiral Matrix II

    https://leetcode.com/problems/spiral-matrix/ Given a matrix of m x n elements (m rows, n columns), r ...

  5. CentOS 5.6 安装Oracle Java 和 Eclipse

    1.卸载原有OpenJDK 1. 使用java  -version查看当前Java版本信息 2. 使用rpm  -qa  |  grep  java 列出所有被安装的java rpm package ...

  6. AVLTree的节点删除

    当年实现自己的共享内存模板的时候,map和set的没有实现,本来考虑用一个AVLTree作为底层实现的,为啥,因为我当时的数据结构知识里面我和RBTree不熟,只搞过AVLTree,但当时我一直没有看 ...

  7. hdoj 2099 整除的尾数

    整除的尾数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  8. 转载最佳JQuery学习网站

    转载文章,原出处: http://www.gbin1.com/technology/jquery/learningjquerywebsites/ jQuery是目前最流行的 JavaScript    ...

  9. whu 1464 deal with numbers

    WHU 1464  deal with numbers 题意: 给你一串数字,对着串数字有三项操作: Minus a,b,c:对区间[a,b]总的每个数都减c. Division a,b,c:对区间[ ...

  10. hql查询技巧

    要擅于利用对象之间映射的集合去查与其关联的对象,而不是直接在dao层重新写查询的方法,其实,hibernate正是对复杂查询的一种解放,既然有现成的东西,何必再去闭门造车,而且造出来的还是个旧车. 查 ...