Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menangkap Permintaan HTTP dalam Aplikasi Python Menggunakan Perpustakaan Permintaan?
Memeriksa Permintaan HTTP dalam Aplikasi Python
Mengenal pasti punca ralat semasa panggilan API boleh menjadi mencabar, terutamanya apabila respons ralat tidak mempunyai butiran khusus . Untuk menyelesaikan isu sedemikian, penyedia API selalunya memerlukan keseluruhan permintaan HTTP, termasuk pengepala. Artikel ini membentangkan pendekatan yang mudah untuk menangkap permintaan ini menggunakan perpustakaan permintaan popular.
Menggunakan Pengelogan untuk Menangkap Permintaan
Versi permintaan terkini (1.x dan ke atas) menawarkan mekanisme pengelogan mudah untuk menangkap permintaan HTTP. Dengan mendayakan penyahpepijatan pada peringkat http.client, kami boleh log kedua-dua permintaan (termasuk pengepala dan kandungan) dan respons (termasuk pengepala).
Pelaksanaan
coretan kod berikut menunjukkan cara untuk mendayakan pengelogan permintaan HTTP:
import requests import logging # Enable debugging at http.client level http_client.HTTPConnection.debuglevel = 1 # Initialize and configure logging 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')
Dengan melaksanakan kod ini, kami mendayakan pengelogan permintaan dan menyimpan data yang dilog dalam pembolehubah requests_log. Kami kemudiannya boleh mengakses pengepala dan kandungan permintaan daripada pembolehubah ini seperti yang diperlukan.
Contoh Output
Berikut ialah contoh output nyahpepijat yang dijana oleh mekanisme pengelogan:
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'
Output ini mengandungi keseluruhan permintaan HTTP, termasuk kaedah HTTP, URI, pengepala dan kandungan permintaan (jika ada). Dengan memberikan maklumat ini kepada penyedia API, anda boleh memudahkan pengenalpastian dan penyelesaian ralat.
Atas ialah kandungan terperinci Bagaimana untuk Menangkap Permintaan HTTP dalam Aplikasi Python Menggunakan Perpustakaan Permintaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!