【问题标题】:403 Forbidden while trying to display image from url - Kivy尝试显示来自 url 的图像时被禁止 403 - Kivy
【发布时间】:2016-09-19 21:49:57
【问题描述】:

我正在尝试在 kivy 应用程序中显示图像,但图像加载器返回错误 403 禁止。

我注意到我必须发送 User-Agent 标头来绕过此错误,但我找不到任何方法将标头传递给图像加载器

有没有办法解决这个问题?

kv文件

AsyncImage:
    source: 'url_to_image'
    keep_ratio: True

错误:

[ERROR  ] [Loader      ] Failed to load image <url_to_image>
urllib.error.HTTPError: HTTP Error 403: Forbidden

【问题讨论】:

    标签: python kivy kivy-language


    【解决方案1】:

    目前您在使用 AsyncImage 时无法修改 User-Agent。负责人代码是here

    fd = urllib_request.urlopen(filename)
    

    正如您所见,没有好的方法可以在其中传递不同的 UserAgent。

    请自行处理文件的下载。

    我猜你也可以尝试使用修改后的split 方法传递urllib.request.Request 对象,以便变量filename 实际上不包含字符串而是包含Request,但仍然可以通过@987654327 的检查@(在AsyncImage)。但这可能会非常不稳定,而不是“正确”的解决方案。

    【讨论】:

    • 感谢您的回答!我知道这是个非常糟糕的主意,但我更改了 kivy 文件,为请求添加了标头,现在一切正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 2015-08-20
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多