Zusammenfassung der HTTP-Anforderungsmethodenbibliotheken in Python

高洛峰
Freigeben: 2017-03-16 17:07:57
Original
1168 Leute haben es durchsucht

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren


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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren


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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!