Bagaimana untuk Menangkap Permintaan HTTP dalam Python untuk Penyahpepijatan?

Mary-Kate Olsen
Lepaskan: 2024-11-23 06:27:11
asal
813 orang telah melayarinya

How to Capture HTTP Requests in Python for Debugging?

Merakam Permintaan HTTP dalam Python untuk Penyelesaian Masalah

Menghadapi ralat HTTP boleh mengecewakan, terutamanya apabila sokongan luaran memerlukan maklumat permintaan terperinci. Artikel ini menerangkan cara menangkap keseluruhan permintaan HTTP yang dihantar daripada aplikasi Python anda menggunakan perpustakaan Permintaan. Dengan mendayakan pengelogan dalam versi Permintaan terbaharu, anda boleh memperoleh cerapan berharga tentang pengepala, data dan respons permintaan.

Mendayakan Pengelogan Permintaan

Permintaan memanfaatkan modul pengelogan Python untuk mengkonfigurasi verbositi pengelogan. Untuk mendayakan pengelogan, cuma ubah suai kod anda seperti berikut:

import logging

# Enable debugging at http.client level
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)

# Set logging level for requests.packages.urllib3
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
Salin selepas log masuk

Demonstrasi

Selepas mendayakan pengelogan, anda boleh melaksanakan permintaan GET kepada API awam seperti httpbin.org:

import requests

requests.get('https://httpbin.org/headers')
Salin selepas log masuk

Contoh Output

Output pengelogan akan merangkumi maklumat berharga tentang permintaan:

INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): httpbin.org
send: 'GET /headers HTTP/1.1\r\nHost: httpbin.org\r\nAccept-Encoding: gzip, deflate, compress\r\nAccept: */*\r\nUser-Agent: python-requests/1.2.0 CPython/2.7.3 Linux/3.2.0-48-generic\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Content-Type: application/json
header: Date: Sat, 29 Jun 2013 11:19:34 GMT
header: Server: gunicorn/0.17.4
header: Content-Length: 226
header: Connection: keep-alive
DEBUG:requests.packages.urllib3.connectionpool:"GET /headers HTTP/1.1" 200 226
Salin selepas log masuk

Output memaparkan permintaan lengkap, termasuk pengepala dan 1024 bait pertama badan respons. Maklumat ini boleh menjadi tidak ternilai untuk mengenal pasti sumber ralat HTTP dan berkomunikasi dengan pasukan sokongan luaran.

Atas ialah kandungan terperinci Bagaimana untuk Menangkap Permintaan HTTP dalam Python untuk Penyahpepijatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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