【目前方法2019-03-14可用,成功的话麻烦各位给个关注或者点赞,谢谢!】
1.解决方法
无论你是mac还是windows还是Linux系统,系统中都会有一个hosts文件。这个文件在各系统中的地址如下。
mac系统 => /private/etc/hosts
Linux系统 => /etc/hosts
windows系统 => C:\Windows\System32\drivers\etc\hosts
打开hosts文件,将52.84.246.72 d3c33hcgiwev3.cloudfront.net
这一行黏贴到文件的末尾,保存,windows可能需要管理员权限(可以先把文件复制出来,修改后再覆盖回去),mac和Linux需要sudo,重新打开coursera即可。
2.原理(可选)
如果你是好奇宝宝,那就继续往下看。
在互联网的发展中,为了方便用户记忆,我们将IP地址变成了一个个的域名,用户不需要去记复杂的数字IP,把这个工作交给了计算机来做。我们键入域名后,计算机来把域名转换成对应的IP。网络上的DNS(Domain Name Server)就是用来进行域名解析的。在GFW(墙)的几种封锁方式中,有一种就是DNS污染,GFW会对域名解析过程进行干扰,使得某些被干扰的域名返回一个错误的IP,这样主机就无法连接来获取资源。
Hosts相当于一个本地的DNS,域名解析过程中,不论什么系统我们会先在本地的hosts文件查找对应的域名解析,如果没找到我们才会去DNS上找。所以,如果我们先在本地写好了,那么就不用去DNS找了,也就可以绕过GFW的这层限制了。
这种方法在Coursera是适用的,原理就是Coursera播放视频会去d3c33hcgiwev3.cloudfront.net
请求资源,Coursera没有被墙,但是这个视频支持的网址是被墙的,所以出现可以登录Coursera但无法播放视频的问题。其他网站twitter,google等有时候也适用,不过你需要在互联网上搜索到对应的ip。因为封锁方式也有多种,有时候这种方法也会失效,只能使用VPN了。