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

kehrt:Python-Anfragen: erhalten Attribute von zurück JSON-String

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}' 

Wie kann die origin und headers/Host Werte erhalten?

dank

Antwort

13

Was zurückgegeben wird, ist ein JSON string; Sie müssen es analysieren, bevor Sie es bequem verwenden können. Anfragen können dies für Sie tun, wenn Sie r.json() statt r.text anrufen.

Dann ist es nur noch eine Frage zu tun:

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

'r.text' eine falsche Zeichencodierung verwenden können, verwenden Sie einfach' r.json() 'immer – jfs

+1

Dank, gut zu wissen! –

+0

warum bekomme ich string von json()? – Crusader

Verwandte Themen