【问题标题】:Error downloading url file下载 url 文件时出错
【发布时间】:2017-09-08 00:56:06
【问题描述】:

当我尝试从链接下载文件时收到此错误,无论我尝试查找和执行什么操作,我都会收到此错误 我正在使用

    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!")

【问题讨论】:

    标签: python-3.x discord.py


    【解决方案1】:

    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())
    

    这不会解决需要登录的网站的问题,但可以解决很多不需要登录的网站。

    【讨论】:

      猜你喜欢
      • 2020-10-19
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 2011-09-21
      • 2014-07-01
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多