• 0
  • 0
分享

一、手动修改hosts文件的方法:

Windows:

hosts文件目录位于 C:\Windows\System32\drivers\etc,默认没有权限修改,需要手动修改权限后才能保存生效。步骤如下:

1. 选中hosts文件,右键选择点击【属性】,

2. 默认勾选了【只读】,取消勾选;

3. 切换到【安全】选项卡,点击【编辑】;

4. 在hosts 的权限窗口选中正在使用的组或用户名,勾选允许【修改】和【写入】,点击【应用】;

5. 以记事本格式打开hosts文件,输入ip 地址和域名(之间加一个空格)保存即可。

6. 打开浏览器设置,清空浏览器缓存,即可访问。

Mac和Linux:

默认在 /etc/hosts,可通过打开terminal终端命令行输入

vim /etc/hosts

进行修改,保存后生效。

二、通过SwitchHosts工具管理hosts

在测试不同环境时常常需要变更系统的hosts IP,手动修改hosts文件次数多了比较麻烦,这时就可以使用SwitchHosts工具管理hosts。SwitchHosts 是一个免费开源软件, 支持Windows和MAC跨平台安装。

下载安装

https://github.com/oldj/SwitchHosts/releases/tag/v4.1.2

使用参考

https://github.com/oldj/SwitchHosts/blob/master/README_cn.md

三、补充问题

1. 修改 hosts 后不生效怎么解决?

无论是手工修改 hosts 还是使用软件来修改,可能都会遇到修改 hosts 后不生效的情况,一般是由于 DNS 缓存的原因导致的。

因为系统为了加快用户打开网站的速度,在首次访问网站成功之后,会把 DNS 解析的结果暂时性地保存在本地缓存 (称为 DNS 缓存) 里一小段时间,如果浏览器在“这段时间里”再次打开同一个网址,则会自动从 DNS 缓存里取出结果,而不会请求远程的 DNS 服务器,也不会查询 hosts 文件,从而节省时间提高打开速度。

因此用户会遇到有时修改了 hosts 文件但并不生效的情况,一般这时候我们想办法清空 (刷新) 一下系统的 DNS 缓存即可。

2. 怎样清空 DNS 缓存?

在 Windows 下命令行执行:

ipconfig /flushdns

在 macOS 下执行命令:

sudo killall -HUP mDNSResponder

使用 Chrome 浏览器,可以访问:chrome://net-internals/#dns,然后点击【Clear host cache】按钮来清空浏览器里的 DNS 缓存。

如果还不生效,再试试重启电脑。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 读者提问:有哪些好用、简单的性能测试工具推荐 ?阿常回答:1、Jmeter(开源)https://jmeter.apache.org2、LoadRunner(商用)https://www.microfocus.com/zh-cn/products/loadrunner-professional/overview3、kylinTOP测试与监控平台(商用)https://www.70testing.com4、kylinPET(商用)https://www.70testing.com5、云测平台提供的性能测试服务(移动端)比如WeTest的PerfDog性能狗https://wetest....
            0 0 1120
            分享
          •   作为软件测试工程师,相信一定经常遇到很多棘手的问题,而其中很大的一个类型就是,客户方或现场问题的复现。要么是怎么都无法复现前方的问题,要么就是概率性重复且没有任何规律。这些飘忽不定甚至被戏称为“鬼影“的问题,往往让测试工程师大为头疼。  如何对这些问题进行精准定位,提高重现概率甚至100%重现,就成为了所有人关注的焦点。千千万万个测试工程师,殚精竭虑,废寝忘食,几乎从技术到玄学的法子都用到,但都无法完全解决,那么就有必要从根本原因上剖析一下问题和做法。  重现,这是一个和机械还原论非常有纠葛的概念。简单来说,就是将一个相对复杂的场景或系统,可以分解为若干个小部分的组合,并且按照既有顺序合成...
            0 0 1000
            分享
          • 如何做前端单元测试对于现在的前端工程,一个标准完整的项目,通常情况单元测试是非常必要的。但很多时候我们只是完成了项目而忽略了项目测试。我认为其中一个很大的原因是很多人对单元测试认知不够,因此我写了这边文章,一方面期望通过这篇文章让你对单元测试有一个初步认识。另一个方面希望通过代码示例,让你掌握写单元测试实践能力。前端为什么需要单元测试?必要性:JavaScript 缺少类型检查,编译期间无法定位到错误,单元测试可以帮助你测试多种异常情况。正确性:测试可以验证代码的正确性,在上线前做到心里有底。自动化:通过 console 虽然可以打印出内部信息,但是这是一次性的事...
            8 9 1459
            分享
          • GET方法和POST方法传递数据的异同http请求方法get和post是最常被用到的两个方法,get常用于向服务器请求数据,post常用于提交数据给服务器处理。 GET方法其实也可以传递少量的数据。 但它存在以下问题:1)GET 方法不包含body,因此以在URL中拼接字段的方式传递数据, 2)GET方法中的URL参数会被显示到地址栏上,存在安全问题3)传递的数据只能是键值对,无法传递其他类型的数据 因此出于传递大量、多种类型的数据和安全性的考虑,上传数据常使用post方法。POST方法如何传递数据POST方法提交数据给服务器,涉及到Content-Type和消息主体编码方式两部分。服务器根据...
            12 12 1854
            分享
          •   苹果公司研究员菲尔-席勒(Phil Schiller)警告说,尽管苹果公司试图在监管规则全面生效之前加强安全性,但在欧盟国家为 iPhone 引入第三方应用程序市场可能会给用户带来巨大的隐私和安全问题。  《欧盟数字市场法》(EU Digital Markets Act,DMA)迫使苹果公司在欧盟成员国向第三方数字店面开放iPhone,从2024 年 3 月起,在iOS 17.4更新中,除了苹果公司自己的App Store之外,还将启用侧载和替代商店。  为了准备引入第三方商店,苹果公司已经概述了各种收费方式的变化,以及确保用户安全的安全机制。不过,苹果公司警告说,这并不能防范所有可能发生...
            0 0 930
            分享
      • 51testing软件测试圈微信