Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Serverprogrammierung: Verwenden der Requests-Bibliothek zum Initiieren von HTTP-Anfragen

Python-Serverprogrammierung: Verwenden der Requests-Bibliothek zum Initiieren von HTTP-Anfragen

王林
王林Original
2023-06-18 13:22:351425Durchsuche

Python war schon immer eine sehr beliebte Programmiersprache, insbesondere im Bereich der Serverprogrammierung. Die Requests-Bibliothek von Python ist eine sehr beliebte Bibliothek, die eine praktische API zum Initiieren von HTTP-Anfragen in Python-Programmen bereitstellt. In diesem Artikel wird erläutert, wie Sie die Requests-Bibliothek zum Initiieren von HTTP-Anfragen verwenden.

1. Einführung in die Requests-Bibliothek

Die Requests-Bibliothek ist eine HTTP-Client-Bibliothek in Python. Sie vereinfacht den HTTP-Anfrageprozess und ermöglicht Entwicklern eine bequemere Interaktion mit dem Netzwerk. Mit der Requests-Bibliothek ist es einfach, HTTP-Anfragen zu stellen und auch HTTP-Antworten zu verarbeiten. Die Requests-Bibliothek weist die folgenden Eigenschaften auf:

  • Die Requests-Bibliothek ist Pythons eigene Bibliothek und erfordert keine zusätzliche Installation.
  • Requests unterstützt verschiedene HTTP-Anforderungsmethoden, einschließlich GET, POST, PUT, DELETE usw.
  • Requests unterstützt verschiedene HTTP-Authentifizierungs- und Verschlüsselungsmechanismus
  • Requests unterstützt verschiedene HTTP-Antwortanalyseformate, einschließlich JSON, XML usw.

2. GET-Anfrage initiieren

Bevor wir die Requests-Bibliothek zum Initiieren einer HTTP-Anfrage verwenden, müssen wir die Requests-Bibliothek importieren Erste. Das Folgende ist ein Beispiel für die Verwendung der Requests-Bibliothek zum Initiieren einer GET-Anfrage:

import requests

url = 'http://example.com'
response = requests.get(url)

print(response.status_code)
print(response.content)

In diesem Beispiel haben wir zuerst die Requests-Bibliothek importiert und dann eine URL-Variable definiert, die die URL speichert, die wir besuchen möchten. Dann verwenden wir die Methode get(), um eine GET-Anfrage zu initiieren und das Antwortergebnis in der Antwortvariablen zu speichern. Abschließend drucken wir den Antwortstatuscode und den Antwortinhalt aus.

3. POST-Anfrage initiieren

Zusätzlich zu GET-Anfragen unterstützt die Requests-Bibliothek auch POST-Anfragen. POST-Anfragen werden normalerweise verwendet, um Daten an den Server zu senden. Hier ist ein Beispiel für das Erstellen einer POST-Anfrage mithilfe der Requests-Bibliothek:

import requests

url = 'http://example.com/login'
data = {
    'username': 'username',
    'password': 'password',
}
response = requests.post(url, data=data)

print(response.status_code)
print(response.content)

In diesem Beispiel definieren wir zunächst eine URL-Variable, die die URL der Anmeldeseite speichert, auf die wir zugreifen möchten. Als nächstes definieren wir eine Datenvariable, die die Daten speichert, die wir an den Server übermitteln möchten. Anschließend verwenden wir die Methode post(), um eine POST-Anfrage zu initiieren und die Antwortergebnisse in der Antwortvariablen zu speichern. Abschließend drucken wir den Antwortstatuscode und den Antwortinhalt aus.

4. Anforderungsheader festlegen

Manchmal müssen wir beim Senden einer HTTP-Anfrage an den Server den Anforderungsheader festlegen. Der Anforderungsheader enthält alle Informationen, die wir in der Anforderung an den Server senden, einschließlich der Anforderungsmethode, des Anforderungspfads, der Anforderungsparameter, des angeforderten Inhaltstyps, des angeforderten Cookies usw. Die Requests-Bibliothek bietet viele Methoden zum Festlegen von Anforderungsheadern. Hier ist ein Beispiel für das Festlegen von Anforderungsheadern mithilfe der Requests-Bibliothek:

import requests

url = 'http://example.com'
headers = {
    'Content-type': 'application/json',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.content)

In diesem Beispiel definieren wir zunächst eine URL-Variable, die die URL speichert, die wir besuchen möchten. Als Nächstes definieren wir eine Header-Variable, die die Header-Informationen der Anforderung speichert, die wir festlegen möchten. Schließlich verwenden wir die Methode get(), um eine GET-Anfrage zu initiieren und das Antwortergebnis in der Antwortvariablen zu speichern. Abschließend drucken wir den Antwortstatuscode und den Antwortinhalt aus.

5. Verarbeitung von HTTP-Antworten

Die Requests-Bibliothek unterstützt das Parsen von HTTP-Antworten in verschiedenen Protokollen und Codierungen, wie z. B. JSON, XML, HTML usw. Wir können je nach tatsächlichem Bedarf verschiedene Analysemethoden auswählen. Hier ist ein Beispiel für die Verwendung der Requests-Bibliothek zum Parsen einer JSON-formatierten Antwort:

import requests

url = 'https://api.github.com/users/octocat/repos'
response = requests.get(url)

repos = response.json()

for repo in repos:
    print(repo['name'])

In diesem Beispiel definieren wir zunächst eine URL-Variable, die die URL speichert, die wir besuchen möchten. Anschließend verwenden wir die Methode get(), um eine GET-Anfrage zu initiieren und das Antwortergebnis in der Antwortvariablen zu speichern. Schließlich verwenden wir die Methode json(), um den Antwortinhalt in das JSON-Format zu formatieren, und verwenden eine for-Schleife, um jedes Repo-Objekt zu durchlaufen und den Namen des Repos auszugeben.

6. HTTP-Authentifizierung

Wenn die aufgerufene URL eine HTTP-Authentifizierung erfordert, müssen wir Authentifizierungsinformationen im Anforderungsheader hinzufügen. Die Requests-Bibliothek stellt viele Methoden zur Verarbeitung der HTTP-Authentifizierung bereit, z. B. HTTPBasicAuth und HTTPDigestAuth. Hier ist ein Beispiel für die Verwendung der Requests-Bibliothek für die HTTP-Authentifizierung:

import requests
from requests.auth import HTTPBasicAuth

url = 'http://httpbin.org/basic-auth/user/passwd'
response = requests.get(url, auth=HTTPBasicAuth('user', 'passwd'))

print(response.status_code)
print(response.content)

In diesem Beispiel definieren wir zunächst eine URL-Variable, die die URL speichert, auf die wir mit HTTP-Authentifizierungsinformationen zugreifen möchten. Anschließend verwenden wir die Methode get(), um eine GET-Anfrage zu initiieren und die Authentifizierungsinformationen an den Auth-Parameter zu übergeben. Abschließend drucken wir den Antwortstatuscode und den Antwortinhalt aus. Wenn die Authentifizierung fehlschlägt, wird ein 401-Fehler zurückgegeben.

7. HTTPS

Standardmäßig überprüft die Requests-Bibliothek das HTTPS-Zertifikat. Wenn Sie die HTTPS-Zertifikatsüberprüfung deaktivieren müssen, können Sie den Überprüfungsparameter auf „Falsch“ setzen. Hier ist ein Beispiel für die Verwendung der Requests-Bibliothek zum Deaktivieren der HTTPS-Zertifikatsüberprüfung:

import requests

url = 'https://httpbin.org/get'
response = requests.get(url, verify=False)

print(response.status_code)
print(response.content)

In diesem Beispiel definieren wir zunächst eine URL-Variable, die die HTTPS-URL speichert, auf die wir zugreifen möchten. Dann verwenden wir die Methode get(), um eine GET-Anfrage zu initiieren und setzen den Prüfparameter auf „False“, um die HTTPS-Zertifikatsüberprüfung zu deaktivieren. Abschließend drucken wir den Antwortstatuscode und den Antwortinhalt aus.

8. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie die Requests-Bibliothek zum Initiieren von HTTP-Anfragen verwenden. Die Requests-Bibliothek kann problemlos HTTP-Anfragen initiieren und HTTP-Antworten verarbeiten. Sie unterstützt außerdem verschiedene HTTP-Authentifizierungs- und Verschlüsselungsmechanismen, wodurch sie sich sehr gut für die Python-Serverprogrammierung eignet. Wenn Sie mehr über die Requests-Bibliothek erfahren möchten, schauen Sie sich bitte die offizielle Dokumentation der Requests-Bibliothek an.

Das obige ist der detaillierte Inhalt vonPython-Serverprogrammierung: Verwenden der Requests-Bibliothek zum Initiieren von HTTP-Anfragen. 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