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

Python subprocess调用Tidal API的curl命令报错求助

问题解决:subprocess执行curl命令出现URL格式错误

问题原因

你的subprocess参数列表存在两个关键错误:

  • 给参数额外添加了单引号(比如"'GET'"):shell里的引号是用来避免空格拆分参数,但subprocess的列表参数已经是逐个拆分好的,额外的单引号会被curl当成参数的一部分,导致解析错误。
  • 加入了多余的\"元素:这些会被当成独立参数传递给curl,被误判为无效URL,引发报错。

修正后的代码

import subprocess

subprocess.run([
    "curl",
    "-X", "GET",
    "https://openapi.tidal.com/search?query=The%20Weekend%20Anti%20Up&offset=0&limit=10&countryCode=US&popularity=WORLDWIDE",
    "-H", "accept: application/vnd.tidal.v1+json",
    "-H", "Authorization: Bearer <your-access-token-here>",
    "-H", "Content-Type: application/vnd.tidal.v1+json"
])

额外注意事项

  • 确保Bearer token是完整的单行字符串,如果原本是多行,要合并成单行或者用Python多行字符串("""包裹)传递,避免换行符导致头信息失效。
  • 若需捕获命令输出,可添加capture_output=True参数,比如result = subprocess.run([...], capture_output=True, text=True),之后通过result.stdout获取响应内容。

内容的提问来源于stack exchange,提问作者Just Verhagen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:42:09