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

将yt-dlp终端命令转为Python代码时遇域名解析错误求助

解决方案

问题根源

你的代码中referer的设置方式可能未正确传递HTTP Referer头,或是存在yt-dlp版本兼容问题,导致请求无法正确解析目标域名。

修正后的代码

将Referer头放在http_headers字典中显式设置,这是更可靠的传递方式:

import yt_dlp

ydl_opts = {
    'http_headers': {
        'Referer': 'https://referer.link'
    },
    'no_part': True,
}

video_url = 'https://video.link'

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([video_url])

额外排查步骤

  1. 版本一致性检查:
    终端执行yt-dlp --version,Python中执行print(yt_dlp.version.__version__),确保两者版本一致。版本差异可能导致参数兼容问题,若不一致,更新Python的yt-dlp包:pip install --upgrade yt-dlp。

  2. URL校验:
    再次确认代码中的video_url和Referer地址与终端命令中的完全一致,包括完整的https://前缀、域名和路径,避免拼写失误。

原因说明

部分场景下,yt-dlp的顶级referer选项可能无法正确将头信息传递给请求,而通过http_headers显式设置HTTP头会绕开这个问题,同时也更符合HTTP请求头的标准传递方式,适配更多网站的校验逻辑。

内容的提问来源于stack exchange,提问作者J. Doe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 07:12:03