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

Barbara Streisand
Freigeben: 2024-10-23 12:19:01
Original
255 Leute haben es durchsucht

How to Print Raw HTTP Requests with Python Requests?

Rohe HTTP-Anfragen mit Python-Anfragen drucken

Beim Arbeiten mit dem Anfragemodul kann es erforderlich sein, die rohen, detaillierten Informationen von anzuzeigen eine HTTP-Anfrage, die über die Header hinausgeht. In diesem Artikel wird erläutert, wie Sie die vollständige HTTP-Anfrage ausdrucken, einschließlich der Anforderungszeile, Header und Inhalt.

Lösung: Verwenden des PreparedRequest-Objekts

Seit Version 1.2.3 Das Anforderungsmodul führte das PreparedRequest-Objekt ein. Dieses Objekt stellt die genauen Bytes dar, die an den Server gesendet werden. Durch die Verwendung dieses Objekts ist es möglich, eine Anfrage wie folgt hübsch zu drucken:

<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):
    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)</code>
Nach dem Login kopieren

Dieser Code druckt die vollständige HTTP-Anfrage in einem für Menschen lesbaren Format:

-----------START-----------
POST http://stackoverflow.com/
Content-Length: 7
X-Custom: Test

a=1&b=2
Nach dem Login kopieren

The Das PreparedRequest-Objekt bietet einen detaillierten Blick auf die erstellte HTTP-Anfrage, was zum Debuggen oder Analysieren des Datenverkehrs nützlich sein kann.

Um die Anfrage tatsächlich zu senden, können Sie den folgenden Code verwenden:

<code class="python">s = requests.Session()
s.send(prepared)</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie drucke ich rohe HTTP-Anfragen mit Python-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!