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.
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
Selepas mendayakan pengelogan, anda boleh melaksanakan permintaan GET kepada API awam seperti httpbin.org:
import requests requests.get('https://httpbin.org/headers')
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
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!