错误信息
Mac 上提示“未能找到使用指定主机名的服务器。”(A server with the specified hostname could not be found.)
这是 macOS 中错误 -1003 的提示文本。Mac 无法把服务器名称转换成地址:DNS 失败了,或者这个名称不存在。
症状
- App 显示“未能找到使用指定主机名的服务器。”
- App 可能会显示
NSURLErrorDomain和-1003。 - 对于同一个名称,Safari 浏览器显示“Safari 浏览器找不到服务器”。
可能的原因
- 没有互联网连接。没有连接,任何名称都无法解析。
- DNS 问题。DNS 服务器没有响应,或者没有该名称的结果。
- VPN 使用自己的 DNS。公司网络内部的名称只能通过公司的 DNS 解析。请参阅连接 VPN 后内部名称无法解析。
- 名称不存在。输入有误,或服务器已被移除。
- DNS 过滤器。有些 DNS 服务和过滤器会把被拦截的名称回答为不存在。
如何检查
通过 macOS 解析器查询该名称。没有地址行即表示查询失败。
dscacheutil -q host -a name example.com直接询问公共 DNS 服务器。如果这里有结果而上一步没有,问题出在 DNS 设置上。
dig +short example.com @1.1.1.1显示 Mac 当前使用的 DNS 服务器。
scutil --dnsping 一个互联网上的地址。这项测试不会用到 DNS。
ping -c 5 1.1.1.1
如何修复
如果 ping 正常但查询失败,请修复 DNS。请参阅Mac 上 DNS 无法解析。
刷新 DNS 缓存,然后再试一次。请参阅在 Mac 上刷新 DNS 缓存。
对于公司内部名称,请先连接 VPN。
如果是 DNS 过滤器阻止了该名称,请在过滤器中允许它。
使用 Kilobat
Kilobat 的连接诊断会逐层测试该名称:网络、代理、DNS、规则、IPv4、IPv6、TLS 和服务器,并指出失败的那一层。
kilobat why example.com查看 DNS 服务器,或设置一个公共 DNS 服务做测试。更改需要管理员密码。
kilobat dnsKilobat 的这些检查都是免费的。AI 智能体可以通过 MCP 用
diagnose_connection和diagnose_network运行它们。请参阅找出某个网站或 API 连不上的原因。
常见问题
NSURLErrorDomain -1003 是什么?
这是 Apple URL Loading System 中的 cannotFindHost 错误。Apple 将其描述为无法解析的主机名。
参考资料
- CFNetwork.framework 中的错误文字,macOS 27.2(Localizable.loctable)
- Apple 开发者:URLError.Code cannotFindHost (-1003)
- Apple 支持:在 Mac 上更改 DNS 设置
- dscacheutil(1)、dig(1) 和 scutil(8),macOS 27.2 自带的 man 手册页
参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。