Ixazululiwe: http python lib

Inkinga enkulu ehlobene nomtapo wezincwadi we-http Python ukuthi awusebenziseki kakhulu. Kungaba nzima kwabaqalayo ukuqonda nokusebenzisa, njengoba kudinga ulwazi oluningi mayelana nephrothokholi ye-HTTP nokuthuthukiswa kwewebhu ngokujwayelekile. Ukwengeza, ilabhulali ayinikezi noma yimaphi amakhono akhelwe ngaphakathi okuphatha noma okulungisa iphutha, okwenza kube nzima ukuxazulula izinkinga ezingase ziphakame uma usebenzisa ilabhulali.

import http.client 
conn = http.client.HTTPSConnection("www.example.com") 
conn.request("GET", "/") 
r1 = conn.getresponse() 
print(r1.status, r1.reason)

1. Lo mugqa ungenisa imojula ye-http.client, ehlinzeka ngesixhumi esibonakalayo sokwenza izicelo ze-HTTP.
2. Lo mugqa udala ukuxhumana kuwebhusayithi ethi www.example.com usebenzisa iphrothokholi ye-HTTPS (evikeleke kakhulu kune-HTTP).
3. Lo mugqa uthumela isicelo se-GET kumkhombandlela wezimpande we-www.example.com (okungukuthi, “/”).
4. Lo mugqa ugcina impendulo evela ku-www.example.com kokuguquguqukayo okubizwa ngokuthi r1, okungase kusetshenziselwe ukuthola ulwazi mayelana nempendulo (njengesimo sayo nesizathu).
5. Okokugcina, lo mugqa uphrinta isimo nesizathu sempendulo ku-www.example.com (isb, “200 OK” noma “404 Not Found”).

Iyini i-HTTP lib kuPython

I-HTTP lib ku-Python iwumtapo wolwazi ohlinzeka ngokuxhumana kohlangothi lweklayenti lwe-HTTP lwezokuxhumana. Ivumela onjiniyela ukuthi bathumele futhi bamukele idatha nge-inthanethi besebenzisa i-Hypertext Transfer Protocol (HTTP). Umtapo wolwazi usekela izindlela ezahlukahlukene zokuqinisekisa, okuhlanganisa okuyisisekelo, inhlabamkhosi, kanye ne-NTLM. Iphinde isekele izinhlobo ezahlukene zezicelo ezifana ne-GET, THUMELA, BHEKA, SUSA kanye ne-HEAD. Ukwengeza, inikeza usekelo lwamakhukhi kanye nokuqondisa kabusha. I-HTTP lib kuPython iyithuluzi elibalulekile lokuthuthukiswa kwewebhu njengoba yenza kube lula inqubo yokwenza izicelo kumaseva ewebhu kanye nokusingatha izimpendulo ezivela kuwo.

Ungaxhuma kanjani ku-HTTP ku-Python

I-Python inikeza inani lamamojula okufinyelela ku-inthanethi nokusebenza nge-HTTP, okuhlanganisa:

1. urllib: Lena imojula ewumongo yokusebenza nama-URL kuPython. Ihlinzeka ngemisebenzi yokuvula nokufunda idatha evela kuma-URL, kanye nemisebenzi yombhalo wekhodi nokuqopha idatha.

2. izicelo: Lona umtapo wolwazi odumile wenkampani yangaphandle owenza kube lula ukwenza izicelo ze-HTTP ngePython. Isekela zonke izindlela ezivamile ze-HTTP (GET, POST, PUT, DELETE njll.), kanye nokuqinisekisa namakhukhi.

3. httplib: Lesi isixhumi esibonakalayo esisezingeni eliphansi sokwenza izicelo ze-HTTP kuPython. Isekela zonke izindlela ezivamile ze-HTTP (GET, POST, PUT njll.), kodwa ayisekeli ukufakazela ubuqiniso noma amakhukhi ngaphandle kwebhokisi.

Ukuze uxhume kuseva ye-HTTP usebenzisa noma yimaphi kulawa mamojuli, udinga kuqala udale into yokuxhumana ngokuyidlulisela i-URL ofuna ukuxhuma kuyo:

ngenisa i-urllib

conn = urllib.request.urlopen('http://www.example.com/')

# noma usebenzisa izicelo

ukungenisa izicelo

conn = requests.get('http://www.example/com')

Uma usudale into yakho yokuxhumana ungabese uyisebenzisela ukuthumela isicelo se-HTTP ngokubiza indlela yesicelo() ngochungechunge oluqukethe indlela oyithandayo (isb. GET noma THUMELA) kanye nanoma yimiphi imingcele eyengeziwe ofisa ukuyifaka esicelweni sakho (isb. izihloko). Ngokwesibonelo:

# usebenzisa i-urllib

impendulo = conn .request('GET', '/path/to/resource')

# noma usebenzisa izicelo

impendulo = conn .request('THUMELA', '/indlela/kuya/insiza', idatha=idatha)

Into ephendulwayo ebuyisiwe izoqukatha ulwazi mayelana nekhodi yesimo ebuyiselwe iseva (isb. 200 KULUNGILE), noma yiziphi izihloko ezibuyiselwe yiseva nanoma yikuphi okuqukethwe okubuyiswe kuphendulwa isicelo sakho (isb. HTML).

amaklayenti angcono kakhulu we-Python HTTP

1. Izicelo: Izicelo yilabhulali yePython edumile yokwenza izicelo ze-HTTP. Kulula ukuyisebenzisa futhi ihlinzeka ngezinhlobonhlobo zezici, okuhlanganisa ukusekelwa kwezindlela eziningi zokuqinisekisa, ukuhlanganisa ukuxhumana, ukuqoshwa kokuqukethwe okuzenzakalelayo, nokuningi.

2. I-Urllib3: I-Urllib3 ingenye ilabhulali yePython edumile yokwenza izicelo ze-HTTP. Isekela izindlela ezihlukahlukene zokuqinisekisa, ukuhlanganisa uxhumano, ukuqoshwa kokuqukethwe okuzenzakalelayo, nokuningi.

3. I-Aiohttp: I-Aiohttp iyilabhulali yePython engavumelaniyo yokwenza izicelo ze-HTTP. Isekela izindlela ezihlukahlukene zokuqinisekisa, ukuhlanganisa uxhumano, ukuqoshwa kokuqukethwe okuzenzakalelayo, nokuningi.

4. I-httplib2: I-httplib2 iyilabhulali ye-Python ebanzi yokwenza izicelo ze-HTTP ezisekela izindlela ezihlukahlukene zokuqinisekisa kanye nezici ze-caching nezici zokucindezela ukunciphisa ukusetshenziswa komkhawulokudonsa lapho kuthunyelwa inani elikhulu ledatha kunethiwekhi.

Okuthunyelwe okuhlobene:

Shiya amazwana