Masalah utama patali perpustakaan http Python éta teu pisan ramah-pamaké. Bisa jadi hésé pikeun beginners ngartos tur ngagunakeun, sabab merlukeun loba pangaweruh ngeunaan protokol HTTP na web ngembangkeun sacara umum. Sajaba ti, perpustakaan teu nyadiakeun sagala diwangun-di penanganan kasalahan atawa kamampuhan debugging, sahingga hésé troubleshoot masalah anu bisa timbul nalika ngagunakeun perpustakaan.
import http.client conn = http.client.HTTPSConnection("www.example.com") conn.request("GET", "/") r1 = conn.getresponse() print(r1.status, r1.reason)
1. Garis ieu ngimpor modul http.client, nu nyadiakeun antarbeungeut pikeun requests HTTP.
2. Jalur ieu nyiptakeun sambungan kana situs wéb www.example.com nganggo protokol HTTPS (anu langkung aman tibatan HTTP).
3. Garis ieu ngirimkeun pamundut GET ka diréktori akar www.example.com (ie, "/").
4. Garis ieu nyimpen respon ti www.example.com dina variabel disebut r1, nu lajeng bisa dipaké pikeun ngakses informasi ngeunaan respon (kayaning status na alesan).
5. Tungtungna, garis ieu prints kaluar status jeung alesan tina respon ti www.example.com (misalna, "200 OK" atawa "404 Teu Kapanggih").
Daptar eusi
Naon HTTP lib di Python
HTTP lib di Python mangrupikeun perpustakaan anu nyayogikeun antarbeungeut pikeun komunikasi HTTP sisi klien. Hal ieu ngamungkinkeun pamekar pikeun ngirim sareng nampi data dina internét nganggo Hypertext Transfer Protocol (HTTP). Perpustakaan ngadukung sababaraha metode auténtikasi, kalebet dasar, nyerna, sareng NTLM. Éta ogé ngadukung sababaraha jinis pamundut sapertos GET, POST, PUT, DELETE sareng HEAD. Salaku tambahan, éta nyayogikeun dukungan pikeun cookies sareng alihan. HTTP lib dina Python mangrupikeun alat penting pikeun pamekaran wéb sabab nyederhanakeun prosés ngadamel pamundut ka server wéb sareng nanganan réspon ti aranjeunna.
Kumaha nyambung ka HTTP dina Python
Python nyayogikeun sajumlah modul pikeun ngaksés internét sareng damel sareng HTTP, kalebet:
1. urllib: Ieu modul inti pikeun gawé bareng URL di Python. Éta nyayogikeun fungsi pikeun muka sareng maca data tina URL, ogé fungsi pikeun encoding sareng decoding data.
2. requests: Ieu perpustakaan pihak katilu populér nu simplifies nyieun requests HTTP di Python. Éta ngadukung sadaya metode HTTP umum (GET, POST, PUT, DELETE jsb.), ogé auténtikasi sareng cookies.
3. httplib: Ieu antarbeungeut-tingkat low pikeun nyieun requests HTTP di Python. Éta ngadukung sadaya metode HTTP anu umum (GET, POST, PUT, jsb), tapi henteu ngadukung auténtikasi atanapi cookies out of the box.
Pikeun nyambung ka server HTTP nganggo salah sahiji modul ieu, mimitina anjeun kedah nyiptakeun objék sambungan ku cara ngalebetkeun URL anu anjeun hoyong sambungkeun:
impor urllib
conn = urllib.request.urlopen('http://www.example.com/')
# atanapi nganggo pamundut
paménta impor
conn = requests.get ( 'http://www.example/com')
Sakali anjeun parantos nyiptakeun obyék sambungan anjeun, anjeun teras tiasa nganggo éta pikeun ngirim pamundut HTTP ku nyauran metode pamundut na () kalayan senar anu ngandung metode anu anjeun pikahoyong (contona, GET atanapi POST) sareng parameter tambahan anu anjeun hoyong lebetkeun dina pamundut anjeun (contona. lulugu). Salaku conto:
# ngagunakeun urllib
response = conn .request('GET', '/path/to/resource')
# atanapi nganggo pamundut
response = conn .request('POST', '/ path/to/resource', data=data)
Obyék respon anu dipulangkeun bakal ngandung émbaran ngeunaan kode status anu dipulangkeun ku server (contona 200 OK), header anu dikirim deui ku server sareng eusi naon waé anu dipulangkeun pikeun ngaréspon pamundut anjeun (contona HTML).
klien HTTP Python pangalusna
1. Requests: Requests mangrupakeun perpustakaan Python populér pikeun requests HTTP. Gampang dianggo sareng nyayogikeun rupa-rupa fitur, kalebet dukungan pikeun sababaraha metode auténtikasi, pooling sambungan, decoding eusi otomatis, sareng seueur deui.
2. Urllib3: Urllib3 nyaeta perpustakaan Python sejen populér pikeun nyieun requests HTTP. Ieu ngarojong rupa métode auténtikasi, pooling sambungan, decoding eusi otomatis, sareng nu sanesna.
3. Aiohttp: Aiohttp mangrupa perpustakaan Python Asynchronous pikeun nyieun requests HTTP. Ieu ngarojong rupa métode auténtikasi, pooling sambungan, decoding eusi otomatis, sareng nu sanesna.
4. httplib2: httplib2 mangrupakeun perpustakaan Python komprehensif pikeun nyieun requests HTTP nu ngarojong rupa métode auténtikasi ogé cache sarta komprési fitur pikeun ngurangan pamakéan rubakpita nalika ngirim jumlah badag data ngaliwatan jaringan.