Heim  >  Artikel  >  Backend-Entwicklung  >  Wie drucke ich die rohe HTTP-Anfrage mit Python-Anfragen?

Wie drucke ich die rohe HTTP-Anfrage mit Python-Anfragen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-23 11:40:26864Durchsuche

How to Print the Raw HTTP Request with Python Requests?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn