Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Vorschau roher HTTP-Anfragen in Python mit „PreparedRequest' von Requests anzeigen?
Roh-HTTP-Anfragen in Python mit Requests drucken
Bei der Arbeit mit dem Requests-Modul kann es vorkommen, dass es von Vorteil ist, die Rohdaten zu überprüfen HTTP-Anfrage wird an den Server gesendet. Dazu gehören nicht nur die Header, sondern auch die Anforderungszeile und der Inhalt.
Lösung mit PreparedRequest:
Ab Version 1.2.3 führte Requests das PreparedRequest-Objekt ein. Dieses Objekt stellt die „genauen Bytes dar, die an den Server gesendet werden“, wie hier dokumentiert: https://requests.readthedocs.io/en/latest/advanced/prepared-requests-and-api/
Um die rohe HTTP-Anfrage in einem hübschen Format zu drucken, können Sie das PreparedRequest-Objekt wie folgt nutzen:
<code class="python">import requests req = requests.Request('POST', 'http://stackoverflow.com', headers={'X-Custom': 'Test'}, data='a=1&b=2') prepared = req.prepare() def pretty_print_POST(req): """ Formats and prints the prepared request in a readable manner. """ print('{}\n{}\r\n{}\r\n\r\n{}'.format( '-----------START-----------', req.method + ' ' + req.url, '\r\n'.join('{}: {}'.format(k, v) for k, v in req.headers.items()), req.body, )) pretty_print_POST(prepared) # Output: -----------START----------- POST http://stackoverflow.com/ Content-Length: 7 X-Custom: Test a=1&b=2</code>
Dadurch werden die Anforderungszeile, die Header und der Anforderungstext in einem optisch ansprechenden Format angezeigt.
Hinweis:Die in der Funktion „pretty_print_POST“ verwendete Formatierung dient der besseren Lesbarkeit und kann geringfügig von der tatsächlich gesendeten Anfrage abweichen.
Sobald Sie die vorbereitete Anfrage überprüft haben, können Sie fortfahren Senden Sie die eigentliche Anfrage mithilfe der Anfragesitzung wie folgt:
<code class="python">s = requests.Session() s.send(prepared)</code>
Ausführlichere Informationen zu erweiterten Funktionen wie vorbereitete Anfragen und API finden Sie in der Anfragedokumentation: https://requests.readthedocs.io/ en/latest/advanced/prepared-requests-and-api/
Das obige ist der detaillierte Inhalt vonWie kann ich eine Vorschau roher HTTP-Anfragen in Python mit „PreparedRequest' von Requests anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!