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

Patricia Arquette
Lepaskan: 2024-10-23 15:46:02
asal
825 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!