Permintaan Python: Semua Yang Perlu Anda Ketahui



Blog ini akan memandu anda melalui modul permintaan python secara terperinci. Anda akan terbiasa dengan permintaan GET dan POST, objek sesi, kuki & tajuk.

Python meminta beg hampir 400,000 muat turun setiap hari. Nombor ini cukup jelas untuk memahami mengenai populariti ini . Dalam beberapa tahun kebelakangan ini, bahasa pengaturcaraan python telah menjadi bahasa pengaturcaraan yang paling diingini oleh banyak pembangun. Konsep dan perpustakaan seperti permintaan adalah salah satu sebab banyak pembangun beralih dari bahasa pengaturcaraan lain ke python. Dalam blog ini, kita akan melalui topik berikut:

Apakah Permintaan Python?

Permintaan Python ditulis oleh Kenneth Reitz dan dilesenkan di bawah apache 2.0. Ia adalah perpustakaan HTTP yang mesra manusia seperti yang disebutkan di halaman dokumentasi rasmi. Ia mudah digunakan dan pada dasarnya digunakan untuk membuat semua permintaan HTTP. Berikut adalah beberapa ciri lanjutan yang disertakan dengan permintaan:
  1. Terus hidup dan penyatuan sambungan
  2. Domain dan url antarabangsa
  3. Sesi dengan ketekunan kuki
  4. Pengesahan SSL gaya penyemak imbas
  5. Penyahkodan kandungan automatik
  6. Pengesahan asas / digest
  7. Kuki kunci / nilai yang elegan
  8. Penyahmampatan automatik
  9. Badan tindak balas unicode
  10. Sokongan proksi HTTP
  11. Muat naik fail berbilang bahagian
  12. Muat turun Streaming
  13. Tamat masa sambungan
  14. Permintaan yang dipotong
Ini adalah semua ciri lanjutan perpustakaan permintaan python, mari kita cuba memahami mengapa kita menggunakan permintaan python sejak awal.

Mengapa Menggunakan Permintaan Python?

Mengenai mengapa kita menggunakan permintaan python? alasannya cukup mudah. Semasa menggunakan permintaan python, anda tidak perlu menambahkan pertanyaan secara manual ke url anda dan data pos pengekodan borang. Ini menjadikan tugas kita lebih mudah ketika membuat permintaan http dalam bentuk apa pun.Sekarang kita sudah biasa dengan permintaan python dan mengapa kita menggunakannya dalam python, mari kita cuba memahami bagaimana kita akan memasang permintaan pada projek atau sistem kita.

Bagaimana Memasang Permintaan Python?

Bahagian pemasangan juga sangat mudah. Sekiranya anda memasang pemasangan pipenv pada sistem anda, anda boleh menjalankan perintah berikut di terminal.

permintaan pemasangan $ pip

Ini akan memasang pustaka permintaan pada sistem anda. Terdapat satu lagi pendekatan untuk memasang permintaan. Sekiranya anda menggunakan pycharm, anda boleh menambahkan permintaan pada jurubahasa projek dalam tetapan. Ini berfungsi sama seperti terminal sekiranya memasang perpustakaan pada projek kami.Sekarang setelah kita selesai dengan pemasangan, mari kita cuba memahami bagaimana kita akan membuat dan mengirim permintaan di python.

Bagaimana Membuat Permintaan & Pengeposan?

Get request pada dasarnya digunakan untuk meminta data dari pelayan. Berikut adalah sintaks untuk membuat permintaan.
permintaan import res = request.get ('url') #res adalah objek tindak balas di sini.
Permintaan pos digunakan untuk mengirimkan data yang akan diproses ke pelayan. Berikut adalah sintaks untuk membuat permintaan kiriman.
permintaan import payload = {'key1': 'value1'} res = request.post ('url', data = muatan)
Setelah mengetahui bagaimana kita dapat membuat permintaan dan mengirim permintaan, mari kita lihat bagaimana kita dapat meneruskan parameter ke url menggunakan permintaan get.

Melewati Parameter Dalam Url

Melewati parameter dalam url semudah membuat permintaan. Berikut adalah contoh untuk meneruskan parameter ke url.
permintaan import payload = {'key1': 'value1', 'key2': 'value2'} res = request.get ('url', params = payload) print (res.url) #ini akan mencetak url dengan parameter melalui permintaan get.

Kod status

Kami juga boleh memeriksa kod status, berikut adalah kod untuk memeriksa kod status:





permintaan import res = request.get ('url') cetak (res.status_code ())
Sekiranya kod mengembalikan 200, ini bermaksud tidak ada kesalahan dan permintaannya baik-baik saja. Sekiranya kita membuat permintaan yang tidak baik, kod tersebut akan mengembalikan kod seperti 404 atau 505 yang akan menimbulkan ralat http.

Kandungan Respons

Kami juga dapat membaca kandungan respons pelayan. Perpustakaan secara automatik akan menyahkodkan kandungan dari pelayan.
permintaan import res = request.get ('url') cetak (res.content)

Permintaan juga mempunyai decoder built-in json.

siri fibonacci dalam c ++
permintaan import res = request.get ('url') print (res.json ()) #ini akan mendapat respons dalam format json

Muat Naik Fail Berbilang Bahagian

Sangat mudah untuk memuat naik fail berbilang bahagian menggunakan permintaan.
mengimport fail permintaan = {'file': open ('filename', 'rb')} res = request.post ('url', files = files) print (res.text)
Untuk mengirim beberapa fail, kami akan menentukan beberapa fail dalam parameter file.

Kuki Dan Tajuk

Kita dapat melihat tajuk dan kuki respons pelayan menggunakan objek respons. Berikut adalah kod untuk melihat tajuk pelayan.
permintaan import res = request.get ('url') cetak (res.headers)
Kami juga boleh meneruskan tajuk khusus ke url. Mari lihat kodnya.
import header permintaan = {'key1': 'value1'} res = request.get ('url', headers = headers) cetak (res.headers)
Permintaan tidak mengubah kelakuannya berdasarkan tajuk khusus. Mereka hanya dihantar ke permintaan akhir. kuki juga dapat dilihat dengan menggunakan objek tindak balas.
permintaan import #untuk menyebarkan kuki kami sendiri, kami dapat menggunakan parameter kuki kuki = diktit (kuki = 'bekerja') res = permintaan.get ('url', kuki = kuki) cetak (res.text)

Kuki dikembalikan dalam RequestCookieJar, yang bertindak seperti kamus tetapi juga menawarkan antara muka yang lebih lengkap, sesuai untuk digunakan di beberapa domain atau jalur.



Objek Sesi

Objek sesi membolehkan anda mengekalkan parameter tertentu di seluruh permintaan.
  • Masih ada kuki di semua permintaan yang dibuat dari contoh sesi
  • Gunakan penyatuan sambungan urllib3
  • Kenaikan prestasi yang ketara
  • Objek sesi mempunyai semua kaedah API permintaan utama
Berikut adalah kod untuk mengekalkan beberapa kuki di seluruh permintaan.
s = permintaan.sesi () s.get ('url') res = s.get ('url') cetak (res.text)

Kesalahan Dan Pengecualian

Berikut adalah kesilapan dan pengecualian yang ditimbulkan dalam permintaan ular sawa.
  • Sekiranya berlaku masalah rangkaian, permintaan akan menimbulkan pengecualian ConnectionError.
  • Response.raise_for_status () akan menimbulkan ralat HTTP apabila terdapat kod status yang tidak berjaya.
  • Sekiranya terdapat masa tamat, ia akan meningkatkan pengecualian Timeout
  • Pengecualian TooManyRedirect dinaikkan jika permintaan melebihi bilangan pengalihan maksimum yang dikonfigurasi.
Di blog ini kita telah membincangkan modul permintaan python di mana kita mempunyai pelbagai ciri canggih. Kami membincangkan pemasangan dan membuat permintaan penerimaan dan pengeposan dengan kandungan respons dan konsep lain di perpustakaan permintaan di python. Modul permintaan Python adalah salah satu daripada banyak ciri luar kotak bahasa pengaturcaraan python . Anda boleh memulakan pembelajaran anda dengan mendaftar dan ketahui kemungkinan bahasa pengaturcaraan python. Ada sebarang pertanyaan? sebutkan mereka di bahagian komen, kami akan menghubungi anda.