Requests: HTTP für menschliche Wesen¶
Release v1.2.0. (Installation)
Requests ist eine Apache2 lizensierte HTTP Bibliothek, geschrieben in Python, für die einfache Nutzung durch Menschen.
Das urllib2 Standard-Modul in Python bietet Ihnen die meisten HTTP-Funktionalitäten, die Sie benötigen, aber die API ist definitiv kaputt. Sie wurde für eine andere Zeit geschrieben - und ein anderes Web. Sie erfordert eine enorme Menge an Arbeit (inkl. dem Überschreiben von Methoden), um auch nur die einfachsten Dinge zu erledigen.
So sollten die Dinge nicht laufen. Nicht in Python.
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}
Der gleiche Code, aber ohne Requests.
Requests nimmt Ihnen die ganze harte Arbeit für HTTP/1.1 in Python ab - und macht damit die Integration von Webdiensten schnell und einfach. Keine Notwendigkeit, manuell query strings zu Ihren URLs hinzu zu fügen oder die Daten für ein POST erst in form-encoding umzuwandeln. Keep-Alive und das Pooling von Verbindungen laufen 100% automatisch ab, erledigt von urllib3, die in Requests eingebettet ist.
Stimmen zu Requests¶
Die Regierung Ihrer Majestät, Amazon, Google, Twilio, Mozilla, Heroku, PayPal, NPR, Obama for America, Transifex, Native Instruments, The Washington Post, Twitter, SoundCloud, Kippt, Readability, and US-Bundesbehörden benutzen Requests in Ihren internen Anwendungen. Requests wurde mehr als 2 Millionen mal von PyPI herunter geladen.
- Armin Ronacher
- Requests ist das perfekte Beispiel dafür, wie elegant eine API mit dem richtigen Grad an Abstraktion sein kann.
- Matt DeBoard
- Ich werde mir @kennethreitz’s Python requests Modul auf meinen Körper tätowieren lassen. Das ganze Ding.
- Daniel Greenfeld
- Ich habe eine 1200 Zeilen Bibliothek aus Spaghetticode überflüssig gemacht und durch 10 Zeilen Code ersetzt, dank @kennethreitz’s request Bibliothek. Heute war ein genialer Tag.
- Kenny Meyers
- Python HTTP: Im Zweifel, ach was, auch ohne Zweifel, benutzen Sie Requests. Elegant, einfach, Pythonisch.
Features¶
- Internationale Domains und URLs
- Keep-Alive & Connection Pooling
- Sessions mit persistierten Cookies
- SSL-Verifizierung wie im Browser
- Basic/Digest Authentifizierung
- Elegante Schlüssel/Wert Cookies
- Automatische Dekomprimierung
- Unicode Antwortdaten
- Hochladen von mehrteiligen Dateien
- Verbindungs-Timeouts
.netrc
Unterstützung- Python 2.6-3.3
- Thread-Sicherheit
Benutzeranleitung¶
Dieser Teil der Dokumentation, der zum Großteil aus Beschreibungsprosa besteht, beginnt mit einigen Hintergrundinformationen über Requests. Danach liegt der Schwerpunkt auf einer Schritt-für-Schritt Anleitung, um den maximalen Nutzen aus Requests zu ziehen.
- Einführung
- Installation
- Schnellstart
- Eine HTTP-Anforderung senden
- Parameter in URLs übergeben
- Daten aus der Antwort
- Binäre Antwortdaten
- JSON-basierte Antwortdaten
- Rohdaten der Antwort
- Benutzerdefinierte Header
- Komplexere POST Anfragen
- POST mit Multipart-Dateien
- Status Codes der Antwort
- Header der Antwort
- Cookies
- Redirections und Verlauf
- Timeouts
- Fehler und Exceptions
- Fortgeschrittene Nutzung
- Sesssion-Objekte
- Objekte für Anfrage und Antwort
- Prepared Requests
- Überprüfen von SSL-Zertifikaten
- Workflow für Antwortdaten
- Keep-Alive
- Streaming Uploads
- Paketierte Anforderungen (chunked encoding)
- Event Hooks
- Benutzerdefinierte Authentifizierung
- Streaming mit Requests
- Proxies
- Standardkonformität
- HTTP Verben
- Link Header
- Transport-Adapter
- Authentifizierung
Community Guide¶
Dieser Abschnitt der Dokumentation befasst sich mit dem Requests-Ökosystem und der Nutzergemeinde.
API Dokumentation¶
Falls Sie nach Informationen zu einer bestimmten Funktion, Klasse oder Methode suchen, dann ist dies der richtige Abschnitt der Dokumentation.
Hinweise für Mitmacher¶
Wenn Sie sich am Projekt beteiligen wollen, ist dies der Teil der Dokumentation, den Sie lesen sollten.