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

Zusammenfassung der HTTP-Anforderungsmethodenbibliotheken in Python

高洛峰
高洛峰Original
2016-11-23 13:28:471911Durchsuche

Ich habe Python kürzlich für Schnittstellentests verwendet und festgestellt, dass es in Python viele HTTP-Anforderungsmethoden gibt. Heute werde ich mir die Zeit nehmen, den relevanten Inhalt zu sortieren und ihn mit Ihnen zu teilen. Der spezifische Inhalt ist wie folgt:
1. Pythons eigene Bibliothek – ---urllib2

Pythons integrierte Bibliothek urllib2 wird häufig wie folgt verwendet:

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 )

Antwort drucken. read()

Antwort drucken.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", "" , Parameter, Header)
response = conn.getresponse()
data = Response.read()
Druckdaten
conn.close()


Denken Sie? es ist zu viel? Es ist kompliziert. Sie müssen das Dokument jedes Mal lesen, wenn Sie schreiben. Schauen wir uns das dritte Dokument an .get('http://localhost:8080).text

Nur ​​ein Satz, schauen wir uns die Post-Anfrage an
payload = {'key1': 'value1', 'key2': 'value2'}
r = request.post("http://httpbin.org/post", data=payload)
print r.text

ist ebenfalls sehr einfach.

Schauen Sie noch einmal nach, wenn Sie sich authentifizieren möchten:
url = 'http://localhost:8080'
r = request.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 URL]',params)
result = resultHtml.read()
Ergebnis drucken

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