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

使用Python调用Cobalt API下载视频时遇链接识别错误问题

问题分析与解决方案

你的代码存在两个关键问题,导致服务器无法识别你提交的视频链接:

  • 缺少JSON请求头:你用json.dumps()生成了JSON格式的字符串,但通过data参数发送时,requests默认会以application/x-www-form-urlencoded格式传递数据。服务器没有收到Content-Type: application/json的头信息,无法正确解析你发送的JSON内容,因此认为你没有提供链接。
  • 多余的URL编码:手动对YouTube链接做urllib.parse.quote()编码完全没必要,JSON会自动处理字符串的格式转换,编码后的链接反而会让服务器无法识别为有效的视频地址。

修正后的代码(推荐写法)

import requests

api_url = 'https://co.wuk.sh/api/json'
youtube_url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'

# 使用requests的json参数,自动完成JSON序列化并设置正确请求头
response = requests.post(api_url, json={'url': youtube_url})

# 打印响应结果
print(response.text)

手动处理JSON的写法(仅作参考)

如果你坚持手动序列化JSON,必须显式设置请求头:

import requests
import json

api_url = 'https://co.wuk.sh/api/json'
youtube_url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'

payload = json.dumps({'url': youtube_url})
headers = {'Content-Type': 'application/json'}

response = requests.post(api_url, data=payload, headers=headers)
print(response.text)

内容的提问来源于stack exchange,提问作者ninth-onion-crop

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:57:24