商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 软件教程 > 如何清除safari浏览器DNS缓存

如何清除safari浏览器DNS缓存

  发布于2026-07-29 阅读(0)

扫一扫,手机访问

碰到Safari打不开某个特定网站、其他页面却一切正常的情况,多半是系统DNS缓存里卡住了那个域名的错误解析结果。别急着重启路由器或重装系统,先试试下面这几招,大概率能搞定。

当只有像 api.pay.example.com 这样的域名报错,提示“无法连接到服务器”或 ERR_NAME_NOT_RESOLVED,而其他网站访问流畅时,十有八九是系统级DNS缓存里存了该域名的错误记录(比如带【NXDOMAIN】标记的负向缓存)。必须手动清除才能恢复访问。

用终端命令一键刷新系统DNS缓存

这条命令组合拳适用于绝大多数场景,能清掉macOS底层mDNSResponder服务维护的全部缓存条目,干净利落。

打开“终端”(可以在“启动台→其他”里找到);

输入第一条命令:sudo dscacheutil -flushcache,回车后输入管理员密码(输入时屏幕上不会显示字符),再回车;

紧接着再执行第二条:sudo killall -HUP mDNSResponder,回车确认。

这两条命令缺一不可——只跑第一条可能还残留部分缓存,只跑第二条则无法触发完整重建。执行完成后无需重启Safari,立即生效。

精准清除单个出错域名的负向缓存

如果你确认只有 www.badhost.test 这一个域名报错,其他全正常,并且已经用 sudo dscacheutil -cachedump -entries Host 查到它带【NXDOMAIN】标记,那才需要下面这个精准操作——避免误伤其他有效缓存。

方法一:临时hosts污染+强制刷新

第一步:执行 sudo killall -HUP mDNSResponder

第二步:把出错域名强行写进hosts:echo "127.0.0.1 www.badhost.test" | sudo tee -a /etc/hosts

第三步:刷新缓存:sudo dscacheutil -flushcache

第四步:立刻删掉刚加的行:sudo sed -i '' '/www.badhost.test/d' /etc/hosts

【务必用反斜杠转义域名中的点号,否则sed会误删整行】

通过Safari开发菜单清空浏览器层缓存

注意:这个操作清的是Safari自己维护的DNS缓存(极小概率存在),它解决不了 ERR_NAME_NOT_RESOLVED 这类系统级错误,但可以作为辅助手段配合使用。

打开Safari → 点击菜单栏“Safari” → “设置” → “高级” → 勾选“在菜单栏中显示‘开发’菜单”;

关闭设置窗口;

点击顶部菜单栏“开发” → “清空缓存”。

这一步操作起来很简单,直接点击就行,不需要输密码或重启浏览器。

换用公共DNS强制绕过旧缓存

这个方案适合怀疑当前ISP DNS返回了错误结果,或者想跳过本地缓存链路、确认问题到底出在DNS本身还是其他环节。

进入“系统设置” → “网络” → 选择当前连接(如Wi-Fi)→ 点击右侧“详细信息” → 切换到“DNS”标签页;

删掉原有DNS地址,点击“+”添加 8.8.8.81.1.1.1

点“好”保存,关闭窗口。

改完后Safari会自动走新DNS查询路径,旧缓存自然失效。

本文转载于:https://www.php.cn/faq/2900281.html?uid=969633 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注