2016-09-19 99 views
2

我試圖在kivy應用程序中顯示圖像,但圖像加載程序返回錯誤403禁止。403試圖從url顯示圖像時禁止 - Kivy

我注意到,我要送User-Agent頭繞過這個錯誤,但我找不到任何辦法頭傳遞到圖像加載器

有什麼辦法來解決這個問題呢?

千伏文件

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

目前無法使用AsyncImage時修改用戶代理。該負責代碼here

fd = urllib_request.urlopen(filename) 

正如你看到有通過不同的UserAgent中有沒有什麼好辦法。

而是自己處理文件的下載。

我想你也可以嘗試通過一個urllib.request.Request對象與修改split功能,使得可變filename實際上並不包含一個字符串,但一個請求,但仍存活的StringProperty的檢查(在AsyncImage)。但這可能會非常不穩定,不是一個「適當的」解決方案。

+0

感謝您的回答!我知道這是非常糟糕的想法,但我更改了kivy文件,添加了要求的標題,現在一切正常。 –