CodeGym /Java Kurs /Python SELF DE /Arbeiten mit dem Netz

Arbeiten mit dem Netz

Python SELF DE
Level 23 , Lektion 2
Verfügbar

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.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION