修改 hosts 不生效的解决办法
许多人通过修改 hosts 来科学上网,提高工作和学习效率。但是常常听到很多小白抱怨修改 hosts 后仍打不开目标网站,其实在很久以前我第一次折腾的时候也是费了不少劲才最后搞定。
废话不多说,直入正题。通常来说,你修改 hosts 后一般都是直接生效的,如果不生效,最有可能是下面几种原因:
1.本地 DNS 缓存
因为在你未修改 hosts 前,你可能尝试访问目标网站,所以本地就有可能存留 DNS 解析缓存记录(而由于污染的原因,该记录可能是错误的记录,或者目标记录 ip 已经被屏蔽,你得用 hosts 里面指定的 ip 进行访问),你要做的就是删除本地 DNS 缓存,那么如何删除?这里只介绍windows 系统删除方法,你要进入 dos 命令窗口进行删除:
首先使用快捷键 win + r 打开运行窗口,然后输入 cmd ,如下:
然后确定,进入 dos 界面,进入后输入 :ipconfig /flushdns ,然后按下回车键,如下:
当提示已成功刷新,也就说明你 DNS 缓存刷新成功了,这时候你再重新输入目标网址进行访问,如果还不行接着看下面。
2.hosts 文件内容已失效或没有目标网站 ip
如果 DNS 刷新成功后还是不能访问目标网站,那么最大可能是 hosts 文件已经失效,那么你要重新找一份最新的 hosts 进行修改或者替换,最新 hosts 参见:通过修改host解决Google打不开。
也有一种可能是 hosts 文件里面没有你想要访问的网站的 ip,如果是这种情况那就没辙了,只能建议你使用 vpn 进行科学上网了。
3.访问目标网站没有加上 https
这是新手小白最常犯的一个问题,比如很多小白想访问 google,添加了最新 hosts 后,然后直接在浏览器输入 www.google.com.hk 或者 google.com 进行访问,然后就没有然后了。。
注意,google 是开启了 https 功能的,所以请在你的浏览器输入 https 开头完整的网址,比如:https://www.google.com.hk/ 或 https://www.google.com 进行访问。
4.删除浏览器缓存
如果你尝试了上面的步骤后还是打不开,那么建议你删除下浏览器缓存。如果你之前有安装代理插件,并且该插件已经失效,那么也建议你删除该插件。
5.无奈之举:重启
6.将 Window 下的 hosts 使用到 Android 手机上
Window 下的 hosts 和 Android 下的 hosts 有略微的区别,详情请看:Window hosts 和 Android hosts的不同 。
如果以上都不行,那么还是使用 vpn 吧。