Heim >Backend-Entwicklung >Python-Tutorial >Zusammenfassung der HTTP-Anforderungsmethodenbibliotheken in Python

Zusammenfassung der HTTP-Anforderungsmethodenbibliotheken in Python

高洛峰
高洛峰Original
2017-03-16 17:07:571223Durchsuche

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:

1. Pythons eigene Bibliothek ---- urllib2

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()

Einfache Get-Anfrage

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

2. Pythons eigene Bibliothek - httplib

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.

3 Drittanbieter-Bibliothek – Anfragen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn