使用pypdl的Downloader对象并行下载时,如何传递auth、headers等参数?
解决pypdl Downloader无法传递auth、headers等参数的问题
方法1:通过自定义requests.Session配置参数
pypdl底层基于requests库,可先创建配置好认证、请求头等参数的Session对象,再传给Downloader:
from pypdl import Downloader import requests # 配置自定义Session session = requests.Session() session.auth = ('你的用户名', '你的密码') # 设置HTTP认证 session.headers.update({'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'}) # 添加请求头 session.verify = False # 关闭SSL证书验证(按需使用) # 初始化Downloader时传入配置好的Session dl = Downloader(session=session) dl.start(url, filepath)
方法2:直接在start方法中传递参数(部分版本支持)
若你的pypdl版本支持,可直接在start方法中传入auth、headers等requests兼容参数:
from pypdl import Downloader dl = Downloader() dl.start( url, filepath, auth=('你的用户名', '你的密码'), headers={'User-Agent': 'Mozilla/5.0'}, verify=False, stream=True )
如果方法2无效,优先使用方法1——Session的配置会被pypdl的所有请求复用,确保参数生效。
内容的提问来源于stack exchange,提问作者G Naik
相关产品推荐
相关产品推荐

