You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Web应用调用Youtube遇CORS,如何通过代理构造请求地址?

解决CORS Anywhere请求构造问题

正确的请求地址格式

直接把完整的带协议的Youtube目标URL拼接在CORS Anywhere代理地址之后,示例:

https://cors-anywhere.herokuapp.com/https://www.youtube.com/watch?v=<你的视频ID>

⚠️ 注意:目标URL必须包含https://,不能只写www.youtube.com,否则代理无法识别有效目标地址。

必须添加的请求头

请求时必须携带以下任意一个请求头,否则会触发「Missing required request header」错误:

  • Origin: http://localhost:3000
  • X-Requested-With: XMLHttpRequest

用Fetch API的示例代码:

fetch('https://cors-anywhere.herokuapp.com/https://www.youtube.com/watch?v=<你的视频ID>', {
  headers: {
    'Origin': 'http://localhost:3000'
  }
})
.then(res => res.text())
.then(data => console.log(data))
.catch(err => console.error(err));

之前的错误原因

  1. 第一次尝试只传了www.youtube.com,缺少https://协议,代理无法解析目标地址。
  2. 第二次尝试错误地把Origin参数拼进URL路径里,Origin是请求头字段,不是URL的一部分,所以触发「Invalid host」错误。

内容的提问来源于stack exchange,提问作者Mysterious Otter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:05:08