我正在尝试使用Kivy AsyncImage,如下所示:
import kivy
from kivy.loader import Loader
from kivy.app import App
from kivy.uix.image import AsyncImage
class MyApp(App):
def build(self):
return AsyncImage(source="https://colruyt.collectandgo.be/cogo/step/JPG/JPG/500x500/std.lang.all/64/86/asset-366486.jpg")
if __name__ == '__main__':
MyApp().run()
但我收到错误:
[ERROR ] [Loader ] Failed to load image <https://colruyt.collectandgo.be/cogo/step/JPG/JPG/500x500/std.lang.all/64/86/asset-366486.jpg>
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/kivy/loader.py", line 342, in _load_urllib
data = self._load_local(_out_filename, kwargs)
File "/usr/local/lib/python2.7/dist-packages/kivy/loader.py", line 277, in _load_local
return ImageLoader.load(filename, keep_data=True, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/kivy/core/image/__init__.py", line 432, in load
raise Exception('Unknown <%s> type, no loader found.' % ext)
Exception: Unknown <html> type, no loader found.
an integer is required
如果我在Mac或Raspberry Pi上运行此操作,也会发生同样的情况。我究竟做错了什么?
编辑:
这似乎是一个http头问题。该url返回一个html错误页面,因为http标头不正确:
<html><head><title>Request Rejected</title></head><body>The requested URL was rejected. Please consult with your administrator.<br><br>Your support ID is: 2461894905373175944</body></html>
我无法弄清楚如何在Kivy中为AsyncImage设置自定义标头。有什么建议吗?