Dapatkan data dari objek respons python

Permintaan API sederhana berarti bahwa semua bentuk permintaan HTTP sama jelasnya. Misalnya, ini adalah cara Anda membuat permintaan HTTP POST

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})

Bagus, bukan? . PUT, DELETE, HEAD dan OPSI?

>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
_

Itu semua baik dan bagus, tetapi itu juga hanya permulaan dari apa yang dapat dilakukan oleh Permintaan

Melewati Parameter Dalam URL

Anda sering kali ingin mengirim semacam data dalam string kueri URL. Jika Anda membuat URL secara manual, data ini akan diberikan sebagai pasangan kunci/nilai di URL setelah tanda tanya, mis. g.

>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
_8. Permintaan memungkinkan Anda memberikan argumen ini sebagai kamus string, menggunakan argumen kata kunci
>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
9. Sebagai contoh, jika Anda ingin meneruskan
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
_0 dan
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
1 ke
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
2, Anda akan menggunakan kode berikut

>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
_

Anda dapat melihat bahwa URL telah dikodekan dengan benar dengan mencetak URL

>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
_

Perhatikan bahwa kunci kamus apa pun yang nilainya

>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
3 tidak akan ditambahkan ke string kueri URL

Anda juga dapat meneruskan daftar item sebagai nilai

>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3

Konten Respons

Kami dapat membaca konten respons server. Pertimbangkan garis waktu GitHub lagi

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...

Permintaan akan secara otomatis mendekodekan konten dari server. Sebagian besar rangkaian karakter unicode didekodekan dengan mulus

Saat Anda membuat permintaan, Permintaan membuat tebakan cerdas tentang penyandian respons berdasarkan header HTTP. Pengkodean teks yang ditebak oleh Permintaan digunakan saat Anda mengakses

>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
4. Anda dapat mengetahui apa yang digunakan Permintaan penyandian, dan mengubahnya, menggunakan properti
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
5

>>> r.encoding
'utf-8'
>>> r.encoding = 'ISO-8859-1'

Jika Anda mengubah enkode, Permintaan akan menggunakan nilai baru

>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
5 setiap kali Anda memanggil
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
4. Anda mungkin ingin melakukan ini dalam situasi apa pun di mana Anda dapat menerapkan logika khusus untuk mengetahui apa yang akan menjadi penyandian konten. Misalnya, HTML dan XML memiliki kemampuan untuk menentukan penyandiannya di dalam tubuhnya. Dalam situasi seperti ini, Anda harus menggunakan
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
_8 untuk menemukan penyandian, lalu atur
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
5. Ini akan memungkinkan Anda menggunakan
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
4 dengan penyandian yang benar

Permintaan juga akan menggunakan penyandian khusus jika Anda membutuhkannya. Jika Anda telah membuat penyandian sendiri dan mendaftarkannya dengan modul

>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
1, Anda cukup menggunakan nama kodek sebagai nilai
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('https://httpbin.org/get', params=payload)
5 dan Permintaan akan menangani pengodean untuk Anda

Konten Respons Biner

Anda juga dapat mengakses isi respons sebagai byte, untuk permintaan non-teks

>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...

>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
3 dan
>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
4 transfer-encodings secara otomatis diterjemahkan untuk Anda

Transfer-encoding

>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
5 secara otomatis diterjemahkan untuk Anda jika perpustakaan Brotli seperti brotli atau brotlicffi diinstal

Misalnya, untuk membuat gambar dari data biner yang dikembalikan oleh permintaan, Anda dapat menggunakan kode berikut

>>> r = requests.get('https://api.github.com/events')
0

Konten Respons JSON

Ada juga dekoder JSON bawaan, jika Anda berurusan dengan data JSON

>>> r = requests.get('https://api.github.com/events')
1

Jika decoding JSON gagal,

>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
6 memunculkan pengecualian. Misalnya, jika respons mendapatkan 204 (Tidak Ada Konten), atau jika respons berisi JSON yang tidak valid, mencoba
>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
6 memunculkan
>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
8. Pengecualian pembungkus ini menyediakan interoperabilitas untuk beberapa pengecualian yang mungkin dilemparkan oleh versi python yang berbeda dan pustaka serialisasi json

Perlu dicatat bahwa keberhasilan panggilan ke

>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
6 tidak menunjukkan keberhasilan respons. Beberapa server mungkin mengembalikan objek JSON dalam respons yang gagal (mis. g. detail kesalahan dengan HTTP 500). JSON tersebut akan diterjemahkan dan dikembalikan. Untuk memeriksa apakah permintaan berhasil, gunakan
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
0 atau centang
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
1 adalah yang Anda harapkan

Konten Respons Mentah

Jika Anda ingin mendapatkan respons soket mentah dari server, Anda dapat mengakses

>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
2. Jika Anda ingin melakukan ini, pastikan Anda menetapkan
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
3 dalam permintaan awal Anda. Setelah Anda melakukannya, Anda dapat melakukan ini

>>> r = requests.get('https://api.github.com/events')
2

Namun secara umum, Anda harus menggunakan pola seperti ini untuk menyimpan apa yang sedang dialirkan ke file

>>> r = requests.get('https://api.github.com/events')
3

Menggunakan

>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
_4 akan menangani banyak hal yang seharusnya Anda tangani saat menggunakan
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
5 secara langsung. Saat streaming unduhan, cara di atas adalah cara yang disukai dan disarankan untuk mengambil konten. Perhatikan bahwa
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
_6 dapat disesuaikan secara bebas ke angka yang mungkin lebih sesuai dengan kasus penggunaan Anda

Catatan

Catatan penting tentang penggunaan

>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
_4 versus
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
5.
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
_4 akan secara otomatis mendekode
>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
3 dan
>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
4 transfer-encodings.
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
_5 adalah aliran byte mentah – tidak mengubah konten respons. Jika Anda benar-benar membutuhkan akses ke byte saat dikembalikan, gunakan
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}

>>> r = requests.get('https://httpbin.org/get', params=payload)
>>> print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
5

Header Kustom

Jika Anda ingin menambahkan tajuk HTTP ke permintaan, cukup berikan

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
4 ke parameter
>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
5

Misalnya, kami tidak menentukan agen pengguna kami di contoh sebelumnya

>>> r = requests.get('https://api.github.com/events')
4

Catatan. Tajuk khusus kurang diutamakan daripada sumber informasi yang lebih spesifik. Contohnya

  • Header otorisasi yang diatur dengan headers= akan diganti jika kredensial ditentukan di

    >>> import requests
    
    >>> r = requests.get('https://api.github.com/events')
    >>> r.text
    '[{"repository":{"open_issues":0,"url":"https://github.com/...
    
    6, yang pada gilirannya akan diganti oleh parameter
    >>> import requests
    
    >>> r = requests.get('https://api.github.com/events')
    >>> r.text
    '[{"repository":{"open_issues":0,"url":"https://github.com/...
    
    7. Permintaan akan mencari file netrc di ~/. netrc, ~/_netrc, atau di jalur yang ditentukan oleh variabel lingkungan NETRC

  • Header otorisasi akan dihapus jika Anda dialihkan ke luar host

  • Header Proxy-Authorization akan diganti dengan kredensial proxy yang disediakan di URL

  • Header Content-Length akan diganti saat kita dapat menentukan panjang konten

Selain itu, Permintaan tidak mengubah perilakunya sama sekali berdasarkan header khusus yang ditentukan. Header hanya diteruskan ke permintaan akhir

Catatan. Semua nilai tajuk harus berupa

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
_8, bytestring, atau unicode. Meskipun diizinkan, disarankan untuk tidak meneruskan nilai header unicode

Permintaan POST yang lebih rumit

Biasanya, Anda ingin mengirim beberapa data yang disandikan formulir — seperti formulir HTML. Untuk melakukan ini, cukup berikan kamus ke argumen

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
9. Kamus data Anda akan secara otomatis dikodekan dalam bentuk saat permintaan dibuat

>>> r = requests.get('https://api.github.com/events')
5

Argumen

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
_9 juga dapat memiliki beberapa nilai untuk setiap kunci. Ini dapat dilakukan dengan membuat
>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
9 baik daftar tupel atau kamus dengan daftar sebagai nilai. Ini sangat berguna ketika formulir memiliki banyak elemen yang menggunakan kunci yang sama

>>> r = requests.get('https://api.github.com/events')
6

Ada kalanya Anda mungkin ingin mengirim data yang tidak disandikan formulir. Jika Anda mengirimkan

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
_8 alih-alih
>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
4, data tersebut akan diposting secara langsung

Misalnya, GitHub API v3 menerima data POST/PATCH dengan Enkode JSON

>>> r = requests.get('https://api.github.com/events')
7

Harap dicatat bahwa kode di atas TIDAK akan menambahkan

>>> r.encoding
'utf-8'
>>> r.encoding = 'ISO-8859-1'
4 header (jadi khususnya TIDAK akan mengaturnya ke
>>> r.encoding
'utf-8'
>>> r.encoding = 'ISO-8859-1'
5)

Jika Anda memerlukan set tajuk itu dan Anda tidak ingin menyandikan sendiri

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
4, Anda juga dapat meneruskannya secara langsung menggunakan parameter
>>> r.encoding
'utf-8'
>>> r.encoding = 'ISO-8859-1'
7 (ditambahkan dalam versi 2. 4. 2) dan itu akan dikodekan secara otomatis

>>> r = requests.get('https://api.github.com/events')
8

>>> r = requests.get('https://api.github.com/events')
_9

Perhatikan, parameter

>>> r.encoding
'utf-8'
>>> r.encoding = 'ISO-8859-1'
_7 diabaikan jika
>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
9 atau
>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
0 diteruskan

POST File yang Disandikan Multipart

Permintaan memudahkan untuk mengunggah file yang disandikan Multipart

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
0

Anda dapat mengatur nama file, content_type, dan header secara eksplisit

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
_1

Jika mau, Anda dapat mengirim string untuk diterima sebagai file

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
_2

Jika Anda memposting file yang sangat besar sebagai permintaan

>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
1, Anda mungkin ingin mengalirkan permintaan tersebut. Secara default,
>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
_2 tidak mendukung ini, tetapi ada paket terpisah yang mendukung -
>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
3. Anda harus membaca dokumentasi toolbelt untuk detail lebih lanjut tentang cara menggunakannya

Untuk mengirim banyak file dalam satu permintaan, lihat bagian ini

Peringatan

Sangat disarankan agar Anda membuka file di. Hal ini karena Permintaan dapat mencoba untuk memberikan

>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
4 header untuk Anda, dan jika demikian, nilai ini akan ditetapkan ke jumlah byte dalam file. Kesalahan dapat terjadi jika Anda membuka file dalam mode teks

Kode Status Respons

Kami dapat memeriksa kode status respons

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
_3

Permintaan juga dilengkapi dengan objek pencarian kode status bawaan untuk referensi mudah

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
_4

Jika kami membuat permintaan buruk (kesalahan klien 4XX atau respons kesalahan server 5XX), kami dapat mengajukannya

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
5

Namun, karena

>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
_6 untuk
>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
7 adalah
>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
8, saat kita memanggil
>>> r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
9 kita mendapatkan

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
_6

Semua baik-baik saja

Tajuk Respons

Kita dapat melihat header respons server menggunakan kamus Python

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
_7

Kamus itu istimewa. itu dibuat hanya untuk header HTTP. Menurut , nama HTTP Header tidak peka huruf besar-kecil

Jadi, kita dapat mengakses header menggunakan kapitalisasi apa pun yang kita inginkan

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
_8

Ini juga istimewa karena server dapat mengirim tajuk yang sama beberapa kali dengan nilai yang berbeda, tetapi permintaan menggabungkannya sehingga dapat direpresentasikan dalam kamus dalam satu pemetaan, sesuai

Penerima MUNGKIN menggabungkan beberapa bidang tajuk dengan nama bidang yang sama menjadi satu “nama bidang. bidang-nilai”, tanpa mengubah semantik pesan, dengan menambahkan setiap nilai bidang berikutnya ke nilai bidang gabungan secara berurutan, dipisahkan dengan koma

Kue

Jika respons berisi beberapa Cookie, Anda dapat mengaksesnya dengan cepat

>>> r = requests.post('https://httpbin.org/post', data={'key': 'value'})
_9

Untuk mengirim cookie Anda sendiri ke server, Anda dapat menggunakan parameter

>>> r = requests.get('https://api.github.com/events')
00

>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
_0

Cookie dikembalikan dalam , yang bertindak seperti

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
4 tetapi juga menawarkan antarmuka yang lebih lengkap, cocok untuk digunakan pada beberapa domain atau jalur. Guci kue juga bisa diteruskan ke permintaan

>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
_1

Pengalihan dan Sejarah

Secara default, Permintaan akan melakukan pengalihan lokasi untuk semua kata kerja kecuali HEAD

Kita dapat menggunakan properti

>>> r = requests.get('https://api.github.com/events')
_03 dari objek Response untuk melacak pengalihan

Daftar berisi objek yang dibuat untuk menyelesaikan permintaan. Daftar diurutkan dari respons terlama hingga yang terbaru

Misalnya, GitHub mengalihkan semua permintaan HTTP ke HTTPS

>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
_2

Jika Anda menggunakan GET, OPTIONS, POST, PUT, PATCH atau DELETE, Anda dapat menonaktifkan penanganan pengalihan dengan parameter

>>> r = requests.get('https://api.github.com/events')
06

>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
_3

Jika Anda menggunakan HEAD, Anda juga dapat mengaktifkan pengalihan

>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
_4

Timeout

Anda dapat memberi tahu Permintaan untuk berhenti menunggu respons setelah beberapa detik dengan parameter

>>> r = requests.get('https://api.github.com/events')
07. Hampir semua kode produksi harus menggunakan parameter ini di hampir semua permintaan. Kegagalan untuk melakukannya dapat menyebabkan program Anda macet tanpa batas

>>> r = requests.put('https://httpbin.org/put', data={'key': 'value'})
>>> r = requests.delete('https://httpbin.org/delete')
>>> r = requests.head('https://httpbin.org/get')
>>> r = requests.options('https://httpbin.org/get')
_5

Catatan

>>> r = requests.get('https://api.github.com/events')
07 bukan batas waktu untuk seluruh unduhan respons; . Jika tidak ada batas waktu yang ditentukan secara eksplisit, permintaan tidak akan habis

Kesalahan dan Pengecualian

Jika terjadi masalah jaringan (mis. g. Kegagalan DNS, koneksi ditolak, dll), Permintaan akan memunculkan pengecualian

akan memunculkan jika permintaan HTTP mengembalikan kode status yang gagal

Jika waktu permintaan habis, pengecualian akan dimunculkan

Jika permintaan melebihi jumlah pengalihan maksimum yang dikonfigurasi, pengecualian akan dimunculkan

Semua pengecualian yang dimunculkan oleh Permintaan secara eksplisit diwarisi dari


Siap untuk lebih?

Jika Anda berada di pasar kerja, pertimbangkan untuk mengikuti kuis pemrograman ini. Sumbangan besar akan diberikan untuk proyek ini, jika Anda menemukan pekerjaan melalui platform ini

Bagaimana cara mendapatkan data dari objek respons dengan Python?

Respon Permintaan impor objek resp = permintaan. dapatkan('https. //reqres. di/api/pengguna') status_code = resp. status_code status_ok = resp. ok print(f'Kode statusnya adalah {status_code}.

Bagaimana cara mendapatkan respons terhadap teks dengan Python?

text mengembalikan konten respons, dalam unicode. Pada dasarnya, ini mengacu pada konten Binary Response. Permintaan python umumnya digunakan untuk mengambil konten dari URI sumber daya tertentu. Setiap kali kita membuat permintaan ke URI yang ditentukan melalui Python, ia mengembalikan objek respons .

Apa itu Obyek tanggapan dengan Python?

Definisi dan Penggunaan. Permintaan. Response() Object berisi respons server terhadap permintaan HTTP .

Bagaimana cara menarik data dari API menggunakan permintaan Python?

Langkah-langkah menarik data dari API menggunakan Python .
Hubungkan ke API. Pada awalnya, kita perlu terhubung ke API dan membuat koneksi aman seperti yang ditunjukkan di bawah ini–.
Dapatkan data dari API. .
Parsing data ke dalam format JSON. .
Ekstrak data dan cetak