Wpis z mikrobloga

#python #kivy
Próbuję w kivy wyświetlić obrazek z url, ale problem polega na tym, że loader zwraca error 403 forbidden.
Muszę jakoś do requesta w headerach dodać user-agent to wtedy przepuści, tylko problem w tym, że nie wiem gdzie ( ͡° ʖ̯ ͡°)
Przejrzałem klasy obrazka i loadera, no ale nie znalazłem miejsca, w którym mógłbym coś zdziałać.
Ktoś mądrzejszy może podzieliłby się pomysłem co zrobić? ʕʔ
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@KsaneK:

import requests
header = {'user-agent': '# Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1',}
url = '[http://www.w3.org/'](http://www.w3.org/')
r =
  • Odpowiedz
via Android
  • 0
@piotrb a to, że kivy ma własny loader obrazków i jedyny parametr jaki mogę podać to source.
Już sobie poradziłem z tym, wiem że to głupi pomysł, ale zedytowałem pliki źródłowe kivy.
Na nic innego nie wpadłem ( ͡° ͜ʖ ͡°)
  • Odpowiedz
via Android
  • 0
@piotrb tylko, że ja używam klasy AsyncImage i ona nie przyjmuje parametru headers. Poza tym Image przyjmuje tylko nazwę pliku jako stringa, więc nawet gdybym samemu odczytał obrazek z url to nie da rady bezpośrednio go przekazać do klasy Image/AsyncImage. Jedyna opcja to zapisać go na dysku i wtedy podać ścieżkę, ale obrazki co chwilę dochodzą nowe i chyba nie ma to sensu.
  • Odpowiedz
@KsaneK: > Po prostu to zedytowałem i działa jak trzeba

Raczej wyciągnij fragment kodu do siebie, nie będziesz się bał przy aktualizacji. Z tego co zerknąłem oni tam np. korzystają z cache więc warto byłoby korzystać z ich mechanizmów wzbogaconych o headery. Ja w takich przypadkach pisałem zawsze do Autorów, w przypadku OS fix był zawsze już następnego dnia, rekord to koleś od proxy do irca z FreeBSD: w ciągu
  • Odpowiedz