Roh-HTTP-Anfrage in Python-Anfragen drucken
Im Anfragemodul von Python ist es möglich, die unbearbeitete HTTP-Anfrage, einschließlich der Anfragezeile, auszudrucken. Überschriften und Inhalte. Dies kann für Debugging-Zwecke oder zur Überprüfung der genauen gesendeten HTTP-Anfrage nützlich sein.
Ab Version 1.2.3 des Anforderungsmoduls wurde das PreparedRequest-Objekt eingeführt. Dieses Objekt stellt die vollständig konstruierte HTTP-Anfrage dar, komplett mit allen Headern und Inhalten. Durch die Verwendung der Prepare-Methode für ein Anforderungsobjekt wird ein PreparedRequest-Objekt generiert.
Um die rohe HTTP-Anfrage mit PreparedRequest zu drucken, können Sie die unten gezeigte Funktion „pretty_print_POST“ verwenden:
<code class="python">import requests # Example request req = requests.Request('POST', 'http://stackoverflow.com', headers={'X-Custom': 'Test'}, data='a=1&b=2') # Prepare the request prepared = req.prepare() def pretty_print_POST(req): 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, )) # Print the raw HTTP request pretty_print_POST(prepared) # Send the request (if desired) s = requests.Session() s.send(prepared)</code>
Diese Funktion druckt die Anfragemethode, URL, Header und Inhalt in formatierter Form.
Um die eigentliche Anfrage nach dem Drucken zu senden, können Sie die Sendemethode für ein Anfragesitzungsobjekt verwenden, wie im Beispiel gezeigt.
Das obige ist der detaillierte Inhalt vonWie drucke ich die rohe HTTP-Anfrage mit Python-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!