Vor kurzem verwende ich Python, um Schnittstellentests durchzuführen, und habe festgestellt, dass es in Python viele http-Anfragemethoden gibt. Ich werde mir heute etwas Zeit nehmen Um den relevanten Inhalt zu sortieren und mit Ihnen zu teilen, lautet der spezifische Inhalt wie folgt:
Pythons eigene Bibliothek urllib2 wird häufig verwendet , und die einfache Verwendung ist wie folgt:
import urllib2
response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true')
print Response.read()
import urllib2
import urllib
post_data = urllib.urlencode({})
response = urllib2.urlopen('http://localhost:8080/, post_data)
print Response.read()
Print Response.getheaders()
Dies ist das einfachste Beispiel für das Senden eines Beitrags durch urllib2. Es gibt viele Codes
httplib ist ein http-Anforderungsmodul auf relativ niedriger Ebene, und urlib ist basierend auf httplib gekapselt. Die einfache Verwendung ist wie folgt:
import httplib conn = httplib.HTTPConnection("www.python.org") conn.request("GET", "/index.html") r1 = conn.getresponse() print r1.status, r1.reason data1 = r1.read() conn.request("GET", "/parrot.spam") r2 = conn.getresponse() data2 = r2.read() conn.close()
Einfache Get-Anfrage
Sehen wir uns die Post-Anfrage an
import httplib, urllib params = urllib.urlencode({'@number': 12524, '@type': 'issue', '@action': 'show'}) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn = httplib.HTTPConnection("bugs.python.org") conn.request("POST", "", params, headers) response = conn.getresponse() data = response.read() print data conn.close()
Finden Sie es zu kompliziert? Sie müssen das Dokument jedes Mal lesen, wenn Sie schreiben. Werfen wir einen Blick auf das dritte.
Das Senden einer Get-Anfrage ist ganz einfach:
print requests.get('http://localhost:8080).text
Nur ein Satz, werfen wir einen Blick auf die Post-Anfrage
payload = {'key1': 'value1', 'key2': 'value2'} r = requests.post("http://httpbin.org/post", data=payload) print r.text
Es ist auch ganz einfach.
Lassen Sie uns noch einmal einen Blick darauf werfen, ob Sie sich authentifizieren möchten:
url = 'http://localhost:8080' r = requests.post(url, data={}, auth=HTTPBasicAuth('admin', 'admin')) print r.status_code print r.headers print r.reason
Ist es nicht viel einfacher als urllib2, und Anfragen kommen mit JSON-Parsing? Das ist großartig
http-Anfrage in Python
import urllib params = urllib.urlencode({key:value,key:value}) resultHtml = urllib.urlopen('[API or 网址]',params) result = resultHtml.read() print result
Das obige ist der detaillierte Inhalt vonZusammenfassung der HTTP-Anforderungsmethodenbibliotheken in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!