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

Zusammenfassung der HTTP-Anforderungsmethodenbibliotheken in Python

高洛峰
高洛峰Original
2016-10-17 13:07:221395Durchsuche

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

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

, 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

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


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