一、修改hosts文件
网上目前流传修改C:\Windows\System32\drivers\etc中的hosts文件夹的方法【1】【2】【3】【4】【5】,试了确实有用,不过流传的方法中有一种是要添加
52.84.246.90 d3c33hcgiwev3.cloudfront.net
52.84.246.252 d3c33hcgiwev3.cloudfront.net
52.84.246.144 d3c33hcgiwev3.cloudfront.net
52.84.246.72 d3c33hcgiwev3.cloudfront.net
52.84.246.106 d3c33hcgiwev3.cloudfront.net
52.84.246.135 d3c33hcgiwev3.cloudfront.net
52.84.246.114 d3c33hcgiwev3.cloudfront.net
52.84.246.90 d3c33hcgiwev3.cloudfront.net
52.84.246.227 d3c33hcgiwev3.cloudfront.net
我试了之后倒不如只添加下面这一行来的快:
52.84.246.72 d3c33hcgiwev3.cloudfront.net
修改后在命令行执行下面语句:
ipconfig/flushdns
二、方法改进
修改hosts文件之后的确比先前的情况有所改观,但是很多时候仍然无法解决登入卡顿以及无法播放视频,发现是由于hosts文件中指定了很多ip地点,实际上就使把coursera的域名d3c33hcgiwev3.cloudfront.net指定为某个地址【7】,而这些ip地址对于每一台电脑来说连入的速度是快慢不一的,主要可以通过ping和tracert命令进行测试【6】【8】。
如可以先通过如下命令检测本机与52.84.246.72的连接情况
ping 52.84.246.72
如果连接情况尚可,则将它写入hosts文件中
52.84.246.72 d3c33hcgiwev3.cloudfront.net
接着跟踪连入网站的过程
tracert d3c33hcgiwev3.cloudfront.net
如果不理想,则更换ip地址继续尝试
通过以下脚本,可以统计在一段时间内各ip地址的稳定性:
其中使用到了输出重定向,将输出用日志文件记录下来,以便后续查看【10】【11】
同时需要获取ping命令的返回值,以便排序比较【12】【13】
三、自动化脚本筛选最优ip
现在还不太清楚是否对于不同的机器在不同的时间最优ip会发生变化,如果会发生变化的话,每次都按上面这样去试工作量也是非常大的,所以自然而然就有了自动化脚本的需求,这里就需要在bat脚本中加入if-else语句【9】,大致的思路就是首先ping所有的候选ip地址,筛选出丢失率为0%的ip地址,并将筛选出的ip地址再按照往返时间行程从小到大排序,接下来就使逐一的检验,写入hosts文件,刷新dns,再进行tracert跟踪,直至挑选出合适的ip地址便停止。
参考文献
【1】Coursera视频无法观看的三种不同解决方法(亲测有效)
https://blog.csdn.net/qq_39521554/article/details/79039548
【2】coursera 视频总是缓冲或者无法观看,有什么方法解决?
https://www.zhihu.com/question/29433255
【3】解决Coursera视频打不开、访问速度慢等问题
https://blog.csdn.net/weixin_41921520/article/details/103093089
【4】coursera无法观看视频解决方法
https://blog.csdn.net/sinat_15443203/article/details/71694554
【5】coursera视频网速慢或者无法观看的解决办法
https://blog.csdn.net/e15273/article/details/78628337
【6】使用tracert命令查看某一个网站的ip地址
https://blog.csdn.net/u011442726/article/details/100083160
【8】BAT脚本的一些命令
https://www.jianshu.com/p/07ccebe29815
【9】bat 批处理文件 中if else 语句写法
https://blog.csdn.net/u012830148/article/details/77453354
【10】bat输出重定向
【11】【Windows】Windows下 cmd 标准输入输出重定向
https://blog.csdn.net/RadiantJeral/article/details/80849527
【12】bat脚本怎么获取一条命令的多行返回结果?
https://bbs.csdn.net/topics/392384446?list=8492879
【14】BAT脚本编写教程(比较易懂和全面)
https://blog.csdn.net/happydecai/article/details/78794948
【15】bat批处理教程