---
title: "Mac 上 curl: (6) Could not resolve host：为“终端”修复 DNS · Kilobat 指南"
url: "https://kilobat.app/zh-hans/guides/curl-could-not-resolve-host.html"
description: "Mac 上的 curl 提示 (6) Could not resolve host。在“终端”中检查主机名、DNS 服务器、代理或 VPN，以及 macOS 解析器。"
---

错误信息

# Mac 上的“curl: (6) Could not resolve host”

curl 退出码 6 表示 curl 无法获取主机名对应的地址。curl 文档的说明是：“The given remote host was not resolved.”

适用于：所有当前 macOS 版本上 macOS 自带的 curl 和 Homebrew 版 curl。 · 核查日期：2026年10月29日

## 症状

- “终端”显示 `curl: (6) Could not resolve host: example.com`。
- 使用 curl 的脚本和安装程序以退出码 6 中止。
- 同一地址在浏览器中能打开，或者在浏览器中也失败。

## 可能的原因

- **输入错误或主机名为空。**脚本中的变量可能为空，导致 curl 拿到错误的名称。
- **没有连接或没有 DNS。**Mac 无法连接到 DNS 服务器。
- **VPN 使用自己的 DNS。**公司内部名称只有在 VPN 打开时才能解析。
- **curl 没有使用代理。**在只允许通过代理上网的网络中，curl 需要代理设置，然后由代理来解析名称。

## 如何检查

1. 打印出完整的命令，确认主机名正确。
2. 通过 macOS 解析器查询该名称。

   ```
   dscacheutil -q host -a name example.com
   ```
3. 直接询问公共 DNS 服务器。如果这里有结果而上一步没有，问题出在 DNS 设置上。

   ```
   dig +short example.com @1.1.1.1
   ```
4. 显示 curl 读取的代理变量。

   ```
   env | grep -i proxy
   ```
5. 带详细信息运行 curl。前几行显示的是查询过程。

   ```
   curl -v https://example.com
   ```

## 如何修复

1. 如果 macOS 查询也失败，请修复 DNS。请参阅[Mac 上 DNS 无法解析](https://kilobat.app/zh-hans/guides/dns-server-not-found.html)。
2. 如果网络需要代理，请为 curl 设置代理。

   ```
   export https_proxy=http://proxy.example.com:8080
   ```
3. 对于公司内部名称，请先连接 VPN。
4. 刷新 DNS 缓存，然后再试一次。请参阅[在 Mac 上刷新 DNS 缓存](https://kilobat.app/zh-hans/guides/flush-dns-cache-mac.html)。

## 使用 Kilobat

1. Kilobat 的连接诊断会逐层测试该名称：网络、代理、DNS、规则、IPv4、IPv6、TLS 和服务器，并指出失败的那一层。

   ```
   kilobat why example.com
   ```
2. 要使用某个正在运行的进程的代理变量，请添加 `--app` 并带上进程名称。

   ```
   kilobat why https://example.com --app process:curl
   ```
3. Kilobat 的这些检查都是免费的。AI 智能体可以通过 MCP 用 `diagnose_connection` 和 `diagnose_network` 运行它们。请参阅[找出某个网站或 API 连不上的原因](https://kilobat.app/zh-hans/guides/recipes/why-cant-it-connect.html)。

## 常见问题

**为什么浏览器正常，curl 却不行？**

浏览器可以使用系统代理或自己的 DNS，而 curl 读取的是 `https_proxy` 等代理变量。请参阅[Mac 上代理设置导致 App 无法连接](https://kilobat.app/zh-hans/guides/proxy-settings-breaking-apps.html)。

## 参考资料

- [curl：libcurl error codes](https://curl.se/libcurl/c/libcurl-errors.html)
- curl(1)，EXIT CODES，macOS 27.2 自带的 man 手册页
- dscacheutil(1) 和 dig(1)，macOS 27.2 自带的 man 手册页

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本；在“终端”中用 `man <name>` 打开。

## 相关指南

- [Mac 上 Git 提示“Could not resolve host: github.com”](https://kilobat.app/zh-hans/guides/git-could-not-resolve-host-github.html): Git 无法获取 github.com 的地址。
- [Mac 上 DNS 无法解析](https://kilobat.app/zh-hans/guides/dns-server-not-found.html): DNS 出故障时，Mac 无法把 apple.com 这样的名称转换成 IP 地址。
- [Mac 上代理设置导致 App 无法连接](https://kilobat.app/zh-hans/guides/proxy-settings-breaking-apps.html): 代理设置会让流量经由另一台服务器转发。
- [Mac 上 Homebrew 失败并提示“curl: (28)”](https://kilobat.app/zh-hans/guides/homebrew-curl-28-timed-out.html): Homebrew 通过 curl 下载。
- [连接 VPN 时内部名称无法解析](https://kilobat.app/zh-hans/guides/vpn-split-dns-internal-names.html): macOS 可以把某个域名的查询发给一台 DNS 服务器，把其他查询发给另一台。
