---
title: "Mac 上的 curl: (6) Could not resolve host：修正終端機的 DNS · Kilobat 指南"
url: "https://kilobat.app/zh-hant/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 內建的 curl 和 Homebrew 的 curl，所有目前的 macOS 版本。 · 檢查日期：2026年10月29日

## 症狀

- 終端機顯示 `curl: (6) Could not resolve host: example.com`。
- 使用 curl 的腳本和安裝程式以結束代碼 6 停止。
- 同一個網址在瀏覽器中可以打開，或者在瀏覽器中也一樣失敗。

## 可能原因

- **輸入錯誤或主機為空。**腳本中的變數可能是空的，導致 curl 拿到錯誤的名稱。
- **沒有連線或沒有 DNS。**Mac 無法連到 DNS 伺服器。
- **使用自己 DNS 的 VPN。**公司內部名稱只有在 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-hant/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-hant/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-hant/guides/recipes/why-cant-it-connect.html)。

## 常見問題

**為什麼瀏覽器可以用，curl 卻不行？**

瀏覽器可以使用系統代理伺服器或它自己的 DNS，curl 則讀取 `https_proxy` 等代理伺服器環境變數。請參閱[代理伺服器設定讓 Mac 上的 App 無法連線](https://kilobat.app/zh-hant/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-hant/guides/git-could-not-resolve-host-github.html): Git 無法取得 github.com 的位址。
- [Mac 上的 DNS 無法解析](https://kilobat.app/zh-hant/guides/dns-server-not-found.html): DNS 失敗時，Mac 無法將 apple.com 這類名稱轉換成 IP 位址。
- [代理伺服器設定讓 Mac 上的 App 無法連線](https://kilobat.app/zh-hant/guides/proxy-settings-breaking-apps.html): 代理伺服器設定會讓流量經由另一台伺服器傳送。
- [Mac 上的 Homebrew 失敗並顯示「curl: (28)」](https://kilobat.app/zh-hant/guides/homebrew-curl-28-timed-out.html): Homebrew 使用 curl 下載。
- [連上 VPN 後內部名稱無法解析](https://kilobat.app/zh-hant/guides/vpn-split-dns-internal-names.html): macOS 可以把某個網域的查詢送往一台 DNS 伺服器，其他查詢則送往另一台。
