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

Zusammenfassung der HTTP-Anforderungsmethodenbibliotheken in Python

高洛峰
Freigeben: 2016-10-17 13:07:22
Original
1424 Leute haben es durchsucht

Ich habe kürzlich Python für Schnittstellentests verwendet und festgestellt, dass es in Python viele HTTP-Anforderungsmethoden gibt. Heute habe ich mir etwas Zeit genommen, den relevanten Inhalt zu sortieren und ihn mit Ihnen zu teilen:

1. Python-Autokonfiguration mit Bibliothek ---- urllib2

Pythons eigene Bibliothek urllib2 wird häufiger verwendet:

import urllib2

response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true')

print Response.read()

Einfache Get-Anfrage

urllib2 importieren

urllib importieren

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

, um zu sehen, ob sie zu kompliziert ist. 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


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