跳到正文

YouTube 429、403 错误用了代理:原因与处理

查清错误来自 API 配额、请求太多还是连接本身,以及该先改什么。

最常见的 3 个原因

原因 1:同一个出口 IP 在短时间内请求太多,这就是 429。yt-dlp 的 FAQ 把它描述为服务因使用过多而封锁你的 IP,通常是软封锁。办法是放慢速度、按 Retry-After 等待后再试;换 IP 是第二步,不是首选。

原因 2:API 拒绝了这次调用。YouTube Data API 的 403 带有 reason:配额用完是 quotaExceeded(默认每天 10,000 点,太平洋时间午夜重置),密钥或 OAuth 范围不对是 forbidden 或 insufficientPermissions,视频关了评论是 commentsDisabled。这些都和你的 IP 无关。

原因 3:下载工具或脚本在网页或媒体请求上得到 403,没有 API 的 reason。依次看工具版本、cookies 和出口 IP。机房 IP 容易被认出是机房,所以登录账号或频道相关的工作请用住宅出口,并保持在账号所在的国家。

是哪种错误,换 IP 有没有用

是哪种错误,换 IP 有没有用
项目含义换 IP 有用吗
网页或下载工具返回 429一段时间内请求太多;按 Retry-After 等待有时有用,前提是已经放慢速度
429 uploadRateLimitExceeded(thumbnails.set)该频道最近上传的缩略图太多,稍后再试没用,限制跟着频道走
403 quotaExceededGoogle Cloud 项目当天的配额用完;太平洋时间午夜重置没用
403 forbidden 或 insufficientPermissions请求授权不正确,或 OAuth 范围不够没用,要改密钥或范围
403 commentsDisabled该视频关闭了评论没用
网页或媒体请求的 403,没有 API reason服务器拒绝了请求,原因没有写明可能:先更新工具、查 cookies,再换一个出口测试

来自 YouTube Data API 的错误页和配额页、MDN 和 yt-dlp FAQ,2026 年 11 月 13 日阅读。最后一行是经验做法,不是文档写明的行为:改配置前先测试。

5 步处理

  1. 第 1 步:先确定错误来自哪里

    如果响应是带 error.errors[].reason 的 JSON,就来自 Data API,对照上表处理;如果只是网页、视频文件或下载工具返回的 HTTP 状态码,就当作请求频率或访问问题。

  2. 第 2 步:API 错误先查配额和权限

    打开 Google Cloud 控制台的 Quotas 页面,看今天的用量。减少耗配额的调用,缓存不变的数据,并检查密钥和 OAuth 范围。代理改变不了这些。

  3. 第 3 步:放慢并等待

    有 Retry-After 就按它等;在请求之间加停顿,减少并行下载数。yt-dlp 可以用 --sleep-requests 和 --sleep-interval(见下面的代码)。

  4. 第 4 步:测出口 IP,再换一个试

    运行 curl 那一行,看 YouTube 会看到哪个 IP 和国家。做完第 3 步仍然失败,就换一个出口重复同一个请求并对比。轮换线路上每个新连接都是新 IP。

  5. 第 5 步:一个账号固定一个 IP

    登录账号或频道时,用固定、干净、与账号所在国家一致的 IP,并保持每次登录的环境一致;不要让同一个账号在不同出口之间切换。

测出口 IP,并带停顿地下载

# 1) which IP will YouTube see?
curl -x http://LOGIN:PASSWORD@HOST:2222 https://ipinfo.io/json

# 2) yt-dlp through the proxy, with pauses and fewer retries
yt-dlp --proxy http://LOGIN:PASSWORD@HOST:2222 \
  --sleep-requests 1 --sleep-interval 5 --max-sleep-interval 15 \
  --retries 3 "VIDEO_URL"

仅为示例:替换 LOGIN、PASSWORD、HOST 和 VIDEO_URL;登录里的 @ 等特殊字符要做百分号编码。停顿数值只是起点,不是 YouTube 公布的数字。只下载你有权下载的内容。

还是不行怎么办

首个请求之后马上又是 429

检查 这个出口 IP 是不是已经被限了,或者你别的任务也在同时用它?

处理 先停掉这个出口上的所有任务一段时间,再带停顿地只启动一个。不同任务分配不同出口。

一早就出现 403 quotaExceeded

检查 是不是定时任务夜里把配额花光了?看 Quotas 页面。

处理 等太平洋时间午夜重置,并减少调用次数。换 IP 恢复不了配额。

只有走代理才 403,不走代理正常

检查 出口是不是机房 IP,或者和账号所在国家不一致?

处理 换成账号所在国家的住宅出口,并把查 IP 的结果和账号国家对一下。

上周还能下,现在下载 403

检查 yt-dlp 是不是最新版?

处理 先更新工具;yt-dlp 项目要求用最新版再报告问题。

哪种 Proxy302 线路做哪类事

大量互不相关的网页或媒体请求,用轮换住宅线路:每个新连接换一个 IP,低价线路 US$1.50/GB 起,HTTP 端口 2222。登录账号或频道时,静态 ISP IP 在租期内不变:1 天 US$0.50,30 天 US$7.99,各国同价。机房 IP 容易被认出是机房,不要用在账号相关的工作上。

没有任何代理能取消限流或 API 配额,它只决定 YouTube 看到哪个 IP。没有免费试用,最小的购买是 1 GB 轮换住宅流量,或一个 IP 一天。

常见问题

YouTube 报 429 是什么意思?

一定时间内请求太多,服务器可能用 Retry-After 说明要等多久。先放慢速度。

YouTube 报 403 是什么意思?

服务器理解了请求但拒绝处理。在 Data API 里,reason 字段会说明原因,比如 quotaExceeded 或 forbidden。

代理能解决 YouTube 429 吗?

只能部分解决。旧的出口 IP 被限时,换一个出口可能有帮助,但代理不会取消限流,所以仍然要加停顿并限制并行任务数。

换 IP 会重置 YouTube API 配额吗?

不会。配额属于 Google Cloud 项目,在太平洋时间午夜重置。应当减少耗配额的调用并缓存结果。

为什么抓评论返回 403?

commentThreads.list 返回 403 commentsDisabled,说明该视频关闭了评论;forbidden 说明请求未获授权。两者都不是 IP 问题。

参考资料

7
  1. MDN:429 Too Many Requests

    官方文档 · 确认日期:

    2026 年 11 月 13 日阅读:429 表示客户端在一定时间内发送了过多请求(限流);响应里可能带 Retry-After,说明多久后再请求。

  2. MDN:403 Forbidden

    官方文档 · 确认日期:

    2026 年 11 月 13 日阅读:403 表示服务器理解请求但拒绝处理,重新认证也没有用;失败与应用逻辑有关,例如权限不足。

  3. YouTube Data API:错误说明

    官方文档 · 确认日期:

    2026 年 11 月 13 日阅读:403 quotaExceeded(配额已用完)、403 forbidden(请求可能未正确授权)、403 insufficientPermissions(OAuth 范围不足)、commentThreads.list 的 403 commentsDisabled(该视频关闭了评论);列出的 429 只有 thumbnails.set 的 tooManyRequests / uploadRateLimitExceeded。

  4. YouTube Data API:配额消耗

    官方文档 · 确认日期:

    2026 年 11 月 13 日阅读:每个请求至少消耗 1 点配额;启用该 API 的项目,大多数接口默认每天 10,000 点,search.list 和 videos.insert 另各有每天 100 次的限制;每日配额在太平洋时间午夜重置;用量可在 Google Cloud 控制台的 Quotas 页面查看。

  5. yt-dlp FAQ

    官方文档 · 确认日期:

    2026 年 11 月 13 日阅读:对于 HTTP Error 429,FAQ 说明是服务因使用过多而封锁了你的 IP,通常是软封锁,解出验证码后即可恢复,并建议用 --proxy 或 --source-address 选择另一个 IP;报告问题时应使用最新版 yt-dlp。

  6. yt-dlp README:参数

    官方文档 · 确认日期:

    2026 年 11 月 13 日阅读:--proxy URL 使用 HTTP、HTTPS 或 SOCKS 代理;--sleep-requests SECONDS 在提取数据期间的请求之间等待;--sleep-interval 与 --max-sleep-interval 设置每次下载前的停顿;-R/--retries 默认 10 次。

  7. Proxy302 产品信息与价格表

    产品观察 · 确认日期:

    站点产品信息表(价格按美元,1 PTC = 1 美元;协议与端口、租期;2026 年 11 月 4 日协议实测、11 月 10 日动态机房线路实测),2026 年 11 月 13 日核对。

准备好试试了吗?

注册账号、充值一次,就能选动态住宅、静态 ISP 或数据中心 IP,几分钟配进你的浏览器。