Python Requests: HTTP-Anfragen für Anfänger erklärt

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist die Requests-Bibliothek und warum wird sie benötigt?

Die Requests-Bibliothek ist eine der beliebtesten und am einfachsten zu verwendenden Python-Bibliotheken für HTTP-Anfragen. Sie bietet eine benutzerfreundliche Schnittstelle zum Senden von GET-, POST-, PUT-, DELETE- und anderen HTTP-Anfragen mit minimalem Codeaufwand.

Die wichtigsten Vorteile der Requests-Bibliothek

  • Einfache Syntax und intuitiv verständliche API
  • Integrierte Unterstützung für Sitzungen und Cookie-Verwaltung
  • Automatische Verarbeitung von JSON und Formulardaten
  • Unterstützung verschiedener Authentifizierungsmethoden
  • Möglichkeit zur Arbeit mit Proxy-Servern
  • Ausführliche Dokumentation auf Deutsch und Englisch
  • Aktive Unterstützung durch die Entwickler-Community

Installation der Requests-Bibliothek

Die Installation der Requests-Bibliothek erfolgt über den Paketmanager pip. Der Installationsprozess hängt von der verwendeten Python-Version ab.

Standardinstallation

pip install requests

Installation für Python 3

Wenn mehrere Python-Versionen auf dem System installiert sind, verwenden Sie den Befehl pip3 für die Installation in der Python 3-Umgebung:

pip3 install requests

Installation überprüfen

Nach der Installation können Sie den Erfolg überprüfen, indem Sie die Bibliothek in der Python-Konsole importieren:

import requests
print(requests.__version__)

Grundlagen der GET-Anfragen

GET-Anfragen werden verwendet, um Daten von einem Webserver abzurufen. Dies ist der häufigste HTTP-Anfragentyp in der Webentwicklung.

Einfache GET-Anfrage

import requests

response = requests.get('https://api.github.com')
print(response.status_code)  # Statuscode der Antwort (200 = OK)
print(response.text)         # Antworttext als Zeichenkette

Analyse der Serverantwort

Bei der Arbeit mit GET-Anfragen ist es wichtig, die erhaltene Antwort richtig zu analysieren. Das response-Objekt enthält viele nützliche Attribute:

  • status_code - HTTP-Status der Antwort
  • text - Inhalt der Antwort im Textformat
  • content - Inhalt der Antwort in Bytes
  • headers - Antwort-Header
  • url - endgültige URL der Anfrage

Arbeiten mit Anfrageparametern

URL-Parameter können über ein Dictionary übergeben werden, was den Code lesbarer und einfacher anpassbar macht:

params = {
    'q': 'python programming',
    'page': 2,
    'limit': 50
}

response = requests.get('https://www.example.com/search', params=params)
print(response.url)  # Zeigt die erstellte URL mit Parametern an

POST-Anfragen und Datensendung an den Server

POST-Anfragen werden verwendet, um Daten an den Server zu senden, z. B. beim Ausfüllen von Formularen oder Erstellen neuer Einträge in einer Datenbank.

Formulardaten senden

data = {
    'username': 'admin',
    'password': '12345',
    'email': 'admin@example.com'
}

response = requests.post('https://httpbin.org/post', data=data)
print(response.text)

JSON-Daten senden

Bei der Arbeit mit modernen APIs müssen Daten oft im JSON-Format gesendet werden. Die Requests-Bibliothek setzt bei Verwendung des json-Parameters automatisch den richtigen Content-Type:

import json

data = {
    'name': 'Max Mustermann',
    'age': 30,
    'city': 'Berlin'
}

response = requests.post('https://httpbin.org/post', json=data)
result = response.json()  # Automatische Umwandlung der Antwort in JSON
print(result)

Unterschiede zwischen den Parametern data und json

  • Der Parameter data sendet Daten als Formular (application/x-www-form-urlencoded)
  • Der Parameter json sendet Daten automatisch als JSON (application/json)

Blogs

Buchempfehlungen