3.1 Modul requests
Für grundlegende Internet-Arbeiten in Python gibt es die Bibliothek
requests
. Sie bietet eine bequeme Schnittstelle für
Netzwerkarbeiten und ermöglicht das Senden von HTTP-Anfragen sowie das Empfangen von Antworten mit minimalem Aufwand.
Diese Bibliothek wird nicht mit Python geliefert, daher musst du sie vor der Benutzung mit einem Paketmanager installieren.
Öffne dein Terminal und tippe:
pip install requests
Nach der Installation der Bibliothek kannst du das Modul requests
in
deinen Projekten verwenden. Beispielsweise kannst du so deine externe
IP-Adresse bestimmen:
import requests
response = requests.get("http://ip.jsontest.com/")
print(response.status_code) # Gibt den Statuscode der Antwort aus
print(response.json()) # Gibt die JSON-Antwort aus
Hier haben wir eine Anfrage an den Dienst (Website) ip.jsontest.com
gesendet, die ein JSON-Objekt mit der IP-Adresse zurückgibt, von der die Anfrage kam. Die eigentliche Anfrage und das Empfangen der Antwort erfolgen in einer Zeile – das ist sehr praktisch. In den übrigen Zeilen haben wir einfach die Antwort des Servers ausgedruckt.
Im obigen Beispiel haben wir die Methode get()
aufgerufen, unten erkläre ich diese Methode und andere Methoden des Objekts
requests
.
3.2 Methodenübersicht
Das Objekt requests
hat Methoden für alle Lebenslagen, genauer gesagt eine Methode für jeden Typ von HTTP-Anfragen.
Methode | Beschreibung |
---|---|
requests.get()
|
Sendet eine GET-Anfrage , um Daten vom Server zu erhalten. |
requests.post() |
Sendet eine POST-Anfrage , um Daten an den Server zu senden. |
requests.put() |
Sendet eine PUT-Anfrage , um Daten auf dem Server zu aktualisieren. |
requests.delete() |
Sendet eine DELETE-Anfrage , um Daten vom Server zu löschen. |
requests.head() |
Sendet eine HEAD-Anfrage , um Header ohne Antwortkörper zu erhalten. |
requests.options() |
Sendet eine OPTIONS-Anfrage , um unterstützte Methoden und Parameter des Servers zu erhalten. |
requests.patch() |
Sendet eine PATCH-Anfrage , um Daten auf dem Server teilweise zu aktualisieren. |
requests.request() |
Die Hauptmethode zum Senden aller Arten von HTTP-Anfragen . |
Unten werden wir die wichtigsten davon betrachten.
3.3 Senden einer GET-Anfrage
und einer POST-Anfrage
Eine GET-Anfrage
besteht normalerweise nur aus einer URL oder kann eine zusätzliche Parameterzeichenfolge enthalten.
1. Senden einer reinen GET-Anfrage
Die GET-Anfrage
wird verwendet, um Daten vom Server zu erhalten. Ein Pflichtparameter ist die URL, an die die Anfrage gesendet wird.
Beispiel:
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code) # Gibt den Statuscode der Antwort aus
print(response.json()) # Gibt die JSON-Antwort aus
2. Senden einer GET-Anfrage
mit Parametern
Die URL kann auch zusätzliche Parameter in der Form einer Zeichenfolge key=value&key2=value2&…
enthalten.
In unserem Fall werden die Parameter in Form eines Dictionaries und einer Variablen params
übergeben:
import requests
params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())
3. Senden einer POST-Anfrage
Eine POST-Anfrage
kann einen Anfragekörper enthalten: Text, JSON oder sogar ein Bild.
Beispiel:
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())
3.4 Senden einer PUT-Anfrage
und einer DELETE-Anfrage
1. Senden einer PUT-Anfrage
Die PUT-Anfrage
wird verwendet, um Daten auf dem Server zu aktualisieren.
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())
2. Senden einer DELETE-Anfrage
Die DELETE-Anfrage
wird verwendet, um Daten vom Server zu löschen.
import requests
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())
Um das Wesen von GET
, POST
, PUT
und DELETE
-Anfragen besser zu verstehen, solltest du Vorlesungen über Netzwerkstruktur,
Internet, Web und HTTP
lesen. All das erwartet dich in naher Zukunft.
GO TO FULL VERSION