前阵子打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. httpServer V1

    package cn.edu.sss.httpServer; import java.io.BufferedReader; import java.io.IOException; import jav ...

  2. 如何获取域名(网址)对应的IP地址

    域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位.通俗点讲,域名就是我们平时进行网络浏览时所用到的网址( ...

  3. Google Android官方文档进程与线程(Processes and Threads)翻译

    android的多线程在开发中已经有使用过了,想再系统地学习一下,找到了android的官方文档,介绍进程与线程的介绍,试着翻译一下. 原文地址:http://developer.android.co ...

  4. stm32f10x.h文件分析理解

    今天再看过半年前自己写的这篇发现自己当时理解有误,stm32f10x.h与库开发并未存在太大关系,只是一个最为重要的寄存器地址到寄存器结构体变量的映射. stm32f10x.h 这个头文件是STM32 ...

  5. TcxVerticalGrid demo

    procedure TForm1.Button1Click(Sender: TObject);var row: TcxEditorRow; i,t: Integer;begin grid.ClearR ...

  6. iOS开发—字典转模型,KVC设计模式

    iOS开发UI基础—字典转模型 开发中,通常使用第三方框架可以很快的实现通过字典转模型,通过plist创建模型,将字典的键值对转成模型属性,将模型转成字典,通过模型数组来创建一个字典数组,通过字典数组 ...

  7. 最清晰的ios消息推送机制教程

    研究了一下Apple Push Notification Service,实现的很简单,很环保.原理如下 财大气粗的苹果提供了一堆服务器,每个ios设备和这些服务器保持了一个长连接,ios版本更新提示 ...

  8. android侧滑菜单笔记

    一.SlidingPaneLayout v4包下的控件,使用简单,功能简洁.官方文档明确说明该控件只能左侧滑动.使用如下: <android.support.v4.widget.SlidingP ...

  9. ecshop在线手册前言及程序结构

    该在线手册是有模版堂转载而来:仅供参考 一.前言 为什么我们ecshop模板堂要重制ecshop在线手册呢?因为目前网上的一些教程有些是比较老的,有些是不全面的,官方的手册也已经很久没有更 新,很多刚 ...

  10. 让Visual Studio 2015 支持ASP.NET MVC4.0.0.1

    近日装上了Visual Studio 2015 ,打开之前vs2013创建的MVC4的项目发现无法编译通过,提示System.Web.MVC,System.Web.WebPages 等找不到,网上搜索 ...