Apabila menghadapi ralat berkaitan API, selalunya menjadi perlu untuk memberikan permintaan HTTP lengkap kepada pasukan sokongan untuk siasatan lanjut . Ini termasuk bukan sahaja muatan respons tetapi juga pengepala permintaan.
Dalam aplikasi Python, ini boleh dicapai menggunakan versi terkini perpustakaan permintaan (1.x dan lebih tinggi). Permintaan memanfaatkan modul pengelogan untuk mengawal verbositi permintaan HTTP. Dengan mendayakan mod nyahpepijat pada peringkat http.client, anda boleh menangkap keseluruhan permintaan, termasuk pengepala dan data.
Coretan kod berikut menunjukkan cara mendayakan pengelogan nyahpepijat:
import requests import logging # Enable HTTP client debugging http_client.HTTPConnection.debuglevel = 1 # Configure loggers logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True # Make an HTTP request requests.get('https://httpbin.org/headers')
Apabila kod dilaksanakan, anda akan melihat output nyahpepijat berikut:
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 ini menyediakan log terperinci permintaan, termasuk semua pengepala dan kod status respons.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Permintaan HTTP Penuh dalam Aplikasi Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!