Bagaimana untuk Mencetak Permintaan HTTP Mentah dengan Permintaan Python?

Barbara Streisand
Lepaskan: 2024-10-23 11:40:26
asal
864 orang telah melayarinya

How to Print the Raw HTTP Request with Python Requests?

Mencetak Permintaan HTTP Mentah dalam Permintaan Python

Dalam modul permintaan Python, adalah mungkin untuk mencetak permintaan HTTP yang tidak diedit, termasuk baris permintaan, tajuk, dan kandungan. Ini boleh berguna untuk tujuan penyahpepijatan atau untuk memeriksa permintaan HTTP tepat yang dihantar.

Bermula dari versi 1.2.3 modul permintaan, objek PreparedRequest telah diperkenalkan. Objek ini mewakili permintaan HTTP yang dibina sepenuhnya, lengkap dengan semua pengepala dan kandungan. Menggunakan kaedah sediakan pada objek permintaan menjana objek PreparedRequest.

Untuk mencetak permintaan HTTP mentah menggunakan PreparedRequest, anda boleh menggunakan fungsi pretty_print_POST yang ditunjukkan di bawah:

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

Fungsi ini mencetak kaedah permintaan, URL, pengepala dan kandungan dalam cara berformat.

Untuk menghantar permintaan sebenar selepas mencetaknya, anda boleh menggunakan kaedah hantar pada objek Sesi permintaan, seperti yang ditunjukkan dalam contoh.

Atas ialah kandungan terperinci Bagaimana untuk Mencetak Permintaan HTTP Mentah dengan Permintaan Python?. 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!