下载 url 文件时出错
Error downloading url file
当我尝试从 link 下载文件时出现此错误,无论我尝试、查找和执行什么操作,我都会出现此错误
我正在使用
urllib.error.HTTPError: HTTP Error 403: Forbidden
我的代码是
elif message.content.startswith('``'):
countn = (count+1)
print(countn)
print('ADD')
meme = (message.content)
memen = meme.replace("``", "")
print(memen)
print('Converted')
urllib.request.urlretrieve(memen, meme)
await client.send_message (message.channel, "Added!")
403: FORBIDDEN 表示服务器拒绝您访问资源,这可能是因为您未能提供足够的身份验证,或者因为它阻止了默认的 python 用户代理 (Python.urllib/3.X
)。
urlretrieve 实际上是一个遗留接口,因为它是从 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())
这不会解决需要登录的网站的问题,但会解决很多不需要登录的网站。
当我尝试从 link 下载文件时出现此错误,无论我尝试、查找和执行什么操作,我都会出现此错误 我正在使用
urllib.error.HTTPError: HTTP Error 403: Forbidden
我的代码是
elif message.content.startswith('``'):
countn = (count+1)
print(countn)
print('ADD')
meme = (message.content)
memen = meme.replace("``", "")
print(memen)
print('Converted')
urllib.request.urlretrieve(memen, meme)
await client.send_message (message.channel, "Added!")
403: FORBIDDEN 表示服务器拒绝您访问资源,这可能是因为您未能提供足够的身份验证,或者因为它阻止了默认的 python 用户代理 (Python.urllib/3.X
)。
urlretrieve 实际上是一个遗留接口,因为它是从 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())
这不会解决需要登录的网站的问题,但会解决很多不需要登录的网站。