# 401 Unauthorized 与 407 Proxy Authentication Required

> 401 Unauthorized来自网站，407来自代理。如何在Python、curl和Node中区分并解决这两种提示。

- URL: https://crawlrelay.com/zh/docs/errors/401-unauthorized/
- 最后更新: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

HTTP 状态码（4xx，客户端错误）：每个工具中的精确错误信息、可能原因排序及有效解决方案。

**快速回答 — 代理中的401 Unauthorized vs 407是什么意思？**

**401 Unauthorized来自网站；407来自代理。** 如果用 CrawlRelay住宅代理抓取时遇到401，说明代理通过了验证，但网站要求自身登录或API密钥。代理凭证对此无效。代理URL中修正407，按网站规定处理401。

## 401 Unauthorized vs 407一览

| 属性 | 值 |
| --- | --- |
| 错误 | 401 Unauthorized vs 407 |
| 类型 | HTTP 状态码（4xx，客户端错误） |
| 发送方 | 目标网站，而非代理 |
| 定义于 | RFC 9110, section 15.5.2 (compare 407: section 15.5.8) |
| 要重试吗？ | 不是。401是网站要求提供自身凭证 |
| 先检查 | 检查哪个服务器返回：网站（401）还是代理（407） |

## 401 Unauthorized vs 407是什么意思？

RFC 9110将这两个状态码配对。401带有`WWW-Authenticate`头部，要求原始服务器凭证；407带有`Proxy-Authenticate`头部，要求代理凭证。响应分别在`Authorization`（网站）和`Proxy-Authorization`（代理）头部。二者都含“认证”字样，易混淆。最简单区分是状态码：401说明代理已通过。

## 在Python、curl、Node.js和浏览器中a 401是什么样？

每个工具中相同的失败会有不同的提示信息。请在日志中搜索以下信息：

- **Python requests:** `status_code == 401`带`WWW-Authenticate`头部（网站） vs 带407提示的`ProxyError`（代理）
- **curl:** 成功的`CONNECT`（网站）返回`HTTP/2 401` vs 代理返回`CONNECT tunnel failed, response 407` 
- **API:** JSON体如`{"message": "Unauthorized"}`或无效令牌消息

## 导致a 401的原因是什么？

最可能的首要原因：

- **需要登录或API密钥的页面或API。** 是网站而非代理要求。
- **代理凭证放在错误位置，** 例如`Authorization`头部，本应给代理的凭证被网站拒绝。
- **多步骤流程中的过期会话Cookie或令牌。**
- **令牌绑定IP或区域，** 换出口IP令牌失效。

## 如何一步步诊断a 401？

1. 确认状态码：401是网站，407是代理。
2. 运行下面curl测试，若401前有`HTTP/1.1 200 Connection established`，说明代理正常。
3. 浏览器访问同一URL是否需要登录？
4. 多步流程中401是否由出口IP更换触发？

*用curl测试失败的URL（HTTP端口，详细模式）*

```bash
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL
```

## 如何修复a 401？

- **代理问题（407）时，** 凭证应放代理URL或客户端代理设置，切勿放`Authorization`头部。
- **需要API密钥的公共接口，** 请在网站注册并按文档发送密钥。
- **IP绑定的会话，** 整个流程使用粘性会话。
- **受登录保护的内容，** 自动化前请查阅网站条款。抓取非持有账号内容或登录后个人资料，违反我们的使用政策。

## 遇到a 401后要重试吗？

不要盲目重试401。它表示请求缺少某项凭证。如果流程中有令牌或会话，先刷新Token或会话，然后尝试一次。多次401表示内容非公开或访问已结束。

## 401 Unauthorized vs 407如何应用于CrawlRelay？

HTTP代理凭证问题表现为407或隧道失败，而非401。如果你在 CrawlRelay网关使用时见401，说明请求已到达网站，定位问题快速。

网关：`gw.crawlrelay.com`，端口7777（通过CONNECT的HTTP、HTTPS）和端口7778（SOCKS5）。用户名格式：`USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`。相关内容：[407 Proxy Authentication Required](https://crawlrelay.com/zh/docs/errors/407-proxy-authentication-required/) · [403 Forbidden](https://crawlrelay.com/zh/docs/errors/403-forbidden/) · [Sessions guide](https://crawlrelay.com/zh/docs/sessions/)。

## 401 Unauthorized vs 407：开发者常问的问题

### 为什么我代理密码正确却出现401错误？

因为401有关网站而非代理。代理登录成功，网站要求自己的凭证，如API密钥、登录Cookie或令牌。请查阅网站文档。内容若需你无权访问的登录，别自动化。

### 粘性会话能解决401错误吗？

有时能。一些网站将会话或令牌绑定到创建它的IP，此时换出口IP使令牌失效，网站返回401。用一个粘性会话贯穿流程能避免。若凭证缺失则无效。

### HTTP请求中代理凭证放哪里？

放在`Proxy-Authorization`头部，是你客户端基于代理URL中的`user:password@`部分生成的。网站看不到此头部，代理会移除。网站凭证放在`Authorization`头部或Cookie中，代理直接透传。

## 本参考中的其他代理错误

- [401 Unauthorized vs 407](https://crawlrelay.com/zh/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/zh/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/zh/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/zh/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/zh/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/zh/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/zh/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/zh/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/zh/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/zh/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/zh/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/zh/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/zh/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/zh/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/zh/docs/errors/ssl-wrong-version-number/)

**带有涵盖失败案例文档的住宅代理** 来自US$0.50/GB的CrawlRelay住宅代理，流量永不过期。 [查看价格](https://crawlrelay.com/zh/pricing/) · [快速开始](https://crawlrelay.com/zh/docs/)

---

CrawlRelay: CrawlRelay 是为开发者设计的住宅代理和 4G/5G 移动代理轮换服务，适用于爬虫和 AI 数据管道：按需付费且流量永不过期，最低流量从 US$0.50/GB 起，支持加密货币支付，无需上传身份证明。无需 KYC —— 无需身份证、自拍和任何证件。支持加密货币支付。
