Python 3.x 下载url文件时出错

Python 3.x 下载url文件时出错,python-3.x,discord.py,Python 3.x,Discord.py,当我试图从一个链接下载一个文件时,我得到了这个错误,无论我尝试什么,查找什么,做什么,我都会得到这个错误 我正在使用 urllib.error.HTTPError: HTTP Error 403: Forbidden 我的代码是 403:禁止意味着服务器拒绝您访问资源,这可能是因为您未能提供足够的身份验证,也可能是因为它阻止了默认的python用户代理(python.urllib/3.X) 实际上是一个从Python 2移植而来的遗留接口。你应该考虑使用 URLOpen< 。 无论如

当我试图从一个链接下载一个文件时,我得到了这个错误,无论我尝试什么,查找什么,做什么,我都会得到这个错误 我正在使用

    urllib.error.HTTPError: HTTP Error 403: Forbidden
我的代码是


403:禁止意味着服务器拒绝您访问资源,这可能是因为您未能提供足够的身份验证,也可能是因为它阻止了默认的python用户代理(
python.urllib/3.X

实际上是一个从Python 2移植而来的遗留接口。你应该考虑使用<代码> URLOpen< <代码>。

无论如何,解决这个问题的一个方法是向您的请求中添加一个(伪造的)用户代理,这是使用urlretrieve无法完成的

headers = {"User-Agent": "Mozilla/5.0"}
request = urllib.request.Request(url, headers=headers)
resp = urllib.request.urlopen(request)
with open(filename, "w") as file:
    file.write(resp.read())
这不会解决需要登录的站点的问题,但它会修复许多不需要登录的站点

headers = {"User-Agent": "Mozilla/5.0"}
request = urllib.request.Request(url, headers=headers)
resp = urllib.request.urlopen(request)
with open(filename, "w") as file:
    file.write(resp.read())