Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Pratonton Permintaan HTTP Mentah dalam Python Menggunakan Permintaan\' PreparedRequest?

Bagaimana untuk Pratonton Permintaan HTTP Mentah dalam Python Menggunakan Permintaan\' PreparedRequest?

Patricia Arquette
Patricia Arquetteasal
2024-10-23 15:46:02814semak imbas

How to Preview Raw HTTP Requests in Python Using Requests' PreparedRequest?

Mencetak Permintaan HTTP Mentah dalam Python dengan Permintaan

Apabila bekerja dengan modul Permintaan, anda mungkin menghadapi situasi di mana ia berfaedah untuk memeriksa mentah Permintaan HTTP dihantar ke pelayan. Ini termasuk bukan sahaja pengepala tetapi juga baris permintaan dan kandungan.

Penyelesaian menggunakan PreparedRequest:

Dari versi 1.2.3 dan seterusnya, Requests memperkenalkan objek PreparedRequest. Objek ini mewakili "bait tepat yang akan dihantar ke pelayan," seperti yang didokumenkan di sini: https://requests.readthedocs.io/en/latest/advanced/prepared-requests-and-api/

Untuk mencetak permintaan HTTP mentah dalam format yang cantik, anda boleh memanfaatkan objek PreparedRequest seperti berikut:

<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>

Ini akan memaparkan baris permintaan, pengepala dan kandungan permintaan dalam format yang menarik secara visual.

Nota: Pemformatan yang digunakan dalam fungsi pretty_print_POST direka untuk kebolehbacaan dan mungkin berbeza sedikit daripada permintaan sebenar yang dihantar.

Setelah anda memeriksa permintaan yang disediakan, anda boleh meneruskan ke hantar permintaan sebenar menggunakan Sesi Permintaan seperti berikut:

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

Untuk maklumat lebih terperinci tentang ciri lanjutan seperti Permintaan yang Disediakan dan API, rujuk dokumentasi Permintaan: https://requests.readthedocs.io/ my/terkini/lanjutan/permintaan-dan-api yang disediakan/

Atas ialah kandungan terperinci Bagaimana untuk Pratonton Permintaan HTTP Mentah dalam Python Menggunakan Permintaan\' PreparedRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn