2014-04-22 4 views
5
import requests 
r = requests.get('http://httpbin.org/get'); 
r.text 

Powroty:Python: uzyskać atrybuty zwrócony ciąg JSON

u'{\n "url": "http://httpbin.org/get",\n "headers": {\n "Host": "httpbin.org",\n "Accept-Encoding": "gzip, deflate, compress",\n "Connection": "close",\n "Accept": "*/*",\n "User-Agent": "python-requests/2.2.1 CPython/2.7.5 Windows/7",\n "X-Request-Id": "db302999-d07f-4dd6-8c1e-14db45d39fb0"\n },\n "origin": "61.228.172.190",\n "args": {}\n}' 

Jak można uzyskać wartości origin i headers/Host?

dzięki

Odpowiedz

13

Co zwracane jest JSON ciąg; musisz go sparsować, zanim będziesz mógł z niego wygodnie korzystać. Żądania mogą to zrobić, jeśli zadzwonisz pod numer r.json() zamiast r.text.

Wtedy to tylko kwestia robi:

resp = r.json() 
print resp['origin'] 
print resp['headers']['Host'] 
+6

'r.text' może użyć złego kodowania znaków, wystarczy użyć' r.json() 'zawsze – jfs

+1

dzięki, dobrze wiedzieć! –

+0

dlaczego otrzymuję ciąg od json()? – Crusader

Powiązane problemy