Używam funkcji urllib2
urlopen
, aby spróbować uzyskać wynik JSON z interfejsu API StackOverflow.Urodzinne łamanie Urlliba na niektórych stronach (na przykład StackApps api): zwraca wyniki śmieci
Kod używam:
>>> import urllib2
>>> conn = urllib2.urlopen("http://api.stackoverflow.com/0.8/users/")
>>> conn.readline()
Wynik Dostaję:
'\x1f\x8b\x08\x00\x00\x00\x00\x00\x04\x00\xed\xbd\x07`\x1cI\x96%&/m\xca{\x7fJ\...
Jestem całkiem nowy, urllib, ale to nie wydaje się, że w wyniku powinien być coraz. Próbowałem go w innych miejscach i otrzymuję to, czego się spodziewam (tak samo, jak odwiedzanie adresu przy użyciu przeglądarki daje mi: obiekt JSON).
Korzystanie z urlopen
na innych stronach (np. "http://google.com") działa dobrze i daje mi rzeczywisty HTML. Próbowałem również używać urllib
i daje ten sam wynik.
Utknąłem, nie wiedząc nawet, gdzie szukać rozwiązania tego problemu. Jakieś pomysły?
Dzięki! Pomogło mi to w debugowaniu mojej własnej aplikacji API :) – swanson