403试图从网址显示图像时被禁止 - Kivy

时间:2016-09-19 21:49:58

标签: python kivy kivy-language

我试图在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

1 个答案:

答案 0 :(得分:1)

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

fd = urllib_request.urlopen(filename)

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

而是自己处理文件的下载。

我想您也可以尝试使用修改后的urllib.request.Request方法传递split对象,以便变量filename实际上不包含字符串而只包含Request,但仍然可以在StringPropertyAsyncImage)的检查中幸存下来。但这可能是非常不稳定的,而不是一个“适当的”解决方案。