Permintaan
dalam Python memudahkan membuat permintaan HTTP. Ia menyediakan API yang bersih dan intuitif yang menjauhkan banyak kerumitan yang terlibat dalam mengendalikan sambungan HTTP, tajuk, dan respons. Untuk menggunakannya, anda perlu memasangnya terlebih dahulu. Anda boleh melakukan ini dengan menggunakan PIP:
<code class="bash"> PIP pemasangan PIP </code>
Setelah dipasang, anda boleh mula membuat permintaan. Fungsi yang paling biasa ialah
<code class="python"> permintaan import response = requests.get (& quot; https: //www.example.com") # Semak cetakan kod status (respons.status_code) # Objek </code> response mengandungi pelbagai atribut, termasuk <code> status_code </code> (kod status HTTP seperti 200 OK) dan <code> teks </code> (badan tindak balas). Atribut berguna lain termasuk <code> headers </code> (tajuk tindak balas), <code> json () </code> (untuk respons JSON parsing), dan <code> content </code> (bait respons mentah). Pengendalian ralat adalah penting; Kami akan menutupnya di bahagian kemudian. Untuk kaedah HTTP yang lain (seperti pos, letakkan, padam), anda menggunakan fungsi yang sepadan seperti <coke> requests.post () , <ode> requests.put () , dan <ode> requests.delete () . Perpustakaan menyokong semua kaedah HTTP biasa, termasuk: <ul> <li> <strong> GET: </strong> Mendapatkan data dari sumber yang ditentukan. Ini adalah kaedah yang paling kerap digunakan. </li> <li> <strong> Post: </strong> Mengemukakan data yang akan diproses ke sumber yang ditentukan. Selalunya digunakan untuk membuat sumber -sumber baru. tajuk, bukan badan. Penggunaan khusus mungkin berbeza -beza bergantung kepada kaedah dan API yang anda berinteraksi, tetapi struktur asas tetap sama. Sebagai contoh, <coke> requests.post () memerlukan menentukan data yang akan dihantar dalam badan permintaan. <h2> Bagaimana saya boleh mengendalikan kod status HTTP yang berbeza menggunakan Perpustakaan Permintaan? Perpustakaan Permintaan memudahkan untuk memeriksa dan mengendalikan kod ini. Atribut response.status_code menyediakan kod status (misalnya, 200 untuk kejayaan, 404 untuk tidak dijumpai, 500 untuk ralat pelayan dalaman). Anda harus sentiasa menyemak kod status untuk memastikan permintaan itu berjaya. Berikut adalah contoh: <pre class="brush:php;toolbar:false"> <code class="python"> Permintaan import cuba: response = requests.get (& quot; https: //www.example.com") response.raise_for_status () requests.Exceptions.RequestException sebagai e: cetak (f & quot; ralat berlaku: {e} & quot;) </code>
response.raise_for_status ()
Ini memudahkan pengendalian ralat. Anda juga boleh menyemak kod status secara manual dan mengendalikan kes -kes yang berbeza menggunakan jika
pernyataan:
<code class="python"> jika response.status_code == 200: cetak (& quot; kejayaan! & Quot; Error & quot;) else: print (f & quot; kod status tidak diketahui: {response.status_code} & quot;) </code>
Data boleh dalam pelbagai format, seperti kamus, senarai, atau fail.
Berikut adalah cara menghantar permintaan pos dengan data sebagai kamus:
<code class="python"> data import data = {'key1': 'value1', 'key2'} requests.post (& quot; https: //httpbin.org/post", data = data) # httpbin.org adalah cetakan tapak ujian berguna (response.status_code) cetak (response.json) <code> httpbin.org/post </code> dengan kamus yang disediakan sebagai badan permintaan. <code> httpbin.org </code> adalah perkhidmatan yang berguna untuk menguji permintaan HTTP. Untuk menghantar data JSON, gunakan parameter <code> json </code>: <pre class="brush:php;toolbar:false"> <code class="python"> Import permintaan import json data = {'key1': 'value1', 'key2': 'value2'} response = requests.post (& quot; cetak (response.status_code) cetak (response.json ()) </code>
Ingat untuk mengendalikan kesilapan yang berpotensi menggunakan cuba ... kecuali
blok dan response.raise_for_status ()
seperti yang ditunjukkan dalam bahagian sebelumnya. Untuk menghantar fail, gunakan parameter fail
dengan fail pemetaan kamus ke objek fail. Perpustakaan
Atas ialah kandungan terperinci Bagaimana cara menggunakan permintaan untuk membuat permintaan HTTP di Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!