Python http.client json-Anforderung und-Antwort. Wie?
Ich habe den folgenden code, ich würde gerne ein update auf Python 3.x
Die benötigten Bibliotheken ändern würde http.client-und json.
Ich kann nicht scheinen, um zu verstehen, wie es zu tun. Können Sie bitte helfen?
import urllib2
import json
data = {"text": "Hello world github/linguist#1 **cool**, and #1!"}
json_data = json.dumps(data)
req = urllib2.Request("https://api.github.com/markdown")
result = urllib2.urlopen(req, json_data)
print '\n'.join(result.readlines())
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werde ich gehen Sie durch es. Zuerst müssen Sie zum erstellen einer TCP-Verbindung, die Sie verwenden, um die Kommunikation mit dem remote-server.
--
http.client.HTTPSConnection()
Thẹn Sie angeben müssen, wird der Anfrage-Header enden.
In diesem Fall sagen wir, dass der request-body ist vom Typ application/json.
Als Nächstes wird die Generierung der json-Daten von einem python-dict()
Dann senden wir eine HTTP-Anforderung über das HTTPS-Verbindung.
Holen Sie sich die Antwort und Lesen Sie es.
'*/*'
, nicht'*'
.body = response.read()
rufen Sie vorresponse.read()
an jedem anderen Ort. Siehe docs.python.org/3/library/http.client.html#httpresponse-objects für mehr Informationen.res = conn.getresponse(), data = res.read(), print(data.decode("utf-8"))
Daten wird korrekt gedruckt, Aber das, was ich bin nicht in der Lage zu tun ist, verwenden Sie diese Daten, oder schreiben es in eine Datei.open('myfile', 'w').write(data.decode('utf-8')
Um Ihren code zu Python 3 kompatibel es ist genug, um Veränderungen der import-Anweisungen und codieren/decodieren der Daten unter der Annahme
utf-8
überall:Sehen eine andere https-post-Beispiel.
HTTPSConnection()
.