- Ano ang Mga Kahilingan sa Python?
- Bakit Gumagamit ng Mga Kahilingan sa Python?
- Paano Mag-install ng Mga Kahilingan sa Python?
- Paggawa ng Mga Kahilingan sa Get & Post
- Pagpasa ng Mga Parameter Sa URL
- Code ng katayuan
- Nilalaman ng Tugon
- Multi-part na Pag-upload ng File
- Cookies At Header
- Bagay sa Sisyon
- Mga Error At Exception
Ano ang Mga Kahilingan sa Python?
Ang mga kahilingan sa Python ay isinulat ni Kenneth Reitz at lisensyado sa ilalim ng apache 2.0. Ito ay isang human friendly HTTP library tulad ng nabanggit sa opisyal na pahina ng dokumentasyon. Ito ay madaling gamitin at karaniwang ginagamit para sa paggawa ng lahat ng uri ng mga kahilingan sa HTTP. Ang sumusunod ay ilang mga advanced na tampok na kasama ng mga kahilingan:- Panatilihing buhay at koneksyon pooling
- Mga pang-internasyonal na domain at url
- Mga sesyon na may pagtitiyaga sa cookie
- Ang pag-verify sa SSL na istilo ng browser
- Awtomatikong pag-decode ng nilalaman
- Pangunahin / pagpapatunay ng digest
- Eleganteng key / cookies ng halaga
- Awtomatikong pag-decompression
- Mga katawan ng pagtugon sa Unicode
- Suporta ng proxy ng HTTPs
- Multipart na mga pag-upload ng file
- Mga Pag-download sa Streaming
- Mga timeout ng koneksyon
- Chunked na mga kahilingan
Bakit Gumagamit ng Mga Kahilingan sa Python?
Pagdating sa bakit gumagamit kami ng mga hiling sa python? ang dahilan ay medyo simple. Habang gumagamit ng mga kahilingan sa sawa, hindi mo kailangang manu-manong idagdag ang mga query sa iyong mga url at form-encode na data ng post. Ginagawa nitong mas madali ang aming trabaho kapag gumagawa ng anumang mga kahilingan sa http.Ngayon na pamilyar kami sa mga kahilingan sa sawa at kung bakit ginagamit namin ang mga ito sa sawa, subukang maunawaan kung paano namin mai-install ang mga kahilingan sa aming proyekto o system.Paano Mag-install ng Mga Kahilingan sa Python?
Ang bahagi ng pag-install ay napakadali din. Kung mayroon kang naka-install na pipenv setup sa iyong system, maaari mo lamang patakbuhin ang sumusunod na utos sa terminal.Mga kahilingan sa pag-install ng $ pip
I-install nito ang library ng mga kahilingan sa iyong system. May isa pang diskarte upang mag-install ng mga kahilingan. Kung gumagamit ka ng pycharm, maaari kang magdagdag ng mga kahilingan sa interpreter ng proyekto sa mga setting. Naghahatid ito ng parehong layunin bilang terminal kung sakaling mai-install ang library sa aming proyekto.Ngayon na natapos namin ang pag-install, subukan nating maunawaan kung paano kami makakakuha ng mga kahilingan sa pag-post at pag-post sa sawa.Paano Gumawa ng Mga Kahilingan sa Kumuha at Mag-post?
Karaniwang ginagamit ang humiling ng kahilingan upang humiling ng data mula sa server. Ang sumusunod ay ang syntax upang gumawa ng isang kahilingan sa pagkuha.pag-import ng mga kahilingan res = requests.get ('url') #res ay ang tumutugon na object dito.Ginagamit ang kahilingan sa pag-post upang isumite ang data upang maproseso sa server. Ang sumusunod ay ang syntax upang gumawa ng isang kahilingan sa pag-post.
pag-import ng mga kahilingan sa payload = {'key1': 'halaga1'} res = mga kahilingan.post ('url', data = payload)Ngayong alam na natin kung paano tayo makakagawa ng makakuha at mag-post ng mga kahilingan, tingnan natin kung paano tayo makakapasa ng mga parameter sa url gamit ang get request.
Pagpasa ng Mga Parameter Sa Isang Url
Ang pagpasa ng mga parameter sa isang url ay kasing simple ng paggawa ng isang kahilingan sa get. Ang sumusunod ay isang halimbawa upang maipasa ang mga parameter sa url.pag-import ng mga kahilingan sa payload = {'key1': 'halaga1', 'key2': 'halaga2'} res = mga kahilingan.get ('url', params = payload) print (res.url) #Ii-print ang url na may mga parameter dumaan sa get request.
Code ng katayuan
Maaari nating suriin din ang code ng katayuan, ang sumusunod ay ang code upang suriin ang code ng katayuan:
pag-import ng mga kahilingan res = requests.get ('url') print (res.status_code ())Kung ang code ay nagbabalik ng 200, nangangahulugan ito na walang error at ang kahilingan ay maayos ang lahat. Kung gagawa kami ng hindi magandang kahilingan, ibabalik ng code ang code tulad ng 404 o 505 na magtataas ng isang error sa http.
Nilalaman ng Tugon
Maaari din nating basahin ang mga nilalaman ng tugon ng server. Awtomatikong mai-decode ng library ang nilalaman mula sa server.pag-import ng mga kahilingan res = requests.get ('url') print (res.content)
Ang mga kahilingan ay mayroon ding built-in na joder decoder.
pag-import ng mga kahilingan res = requests.get ('url') print (res.json ()) # Makukuha nito ang tugon sa isang json format
Pag-upload ng Maramihang Bahagi ng File
Napakadali na mag-upload ng mga file na maraming bahagi gamit ang mga kahilingan.mag-import ng mga file = {'file': buksan ('filename', 'rb')} res = requests.post ('url', files = files) print (res.text)Para sa pagpapadala ng maraming mga file ay tutukuyin namin ang maraming mga file sa parameter ng mga file.
Cookies At Header
Maaari naming matingnan ang mga header ng pagtugon at cookies ng server gamit ang object ng tugon. Ang sumusunod ay ang code upang matingnan ang mga header ng server.pag-import ng mga kahilingan res = requests.get ('url') print (res.headers)Maaari naming ipasa ang mga pasadyang header sa url din. Hayaang tingnan ang code.
mag-import ng mga hiling header = {'key1': 'value1'} res = requests.get ('url', headers = header) print (res.headers)Hindi binabago ng mga kahilingan ang pag-uugali nito batay sa mga pasadyang header. Pasado lamang sila sa pangwakas na kahilingan. cookies maaari ring matingnan gamit ang object ng tugon.
mag-import ng mga kahilingan #para ipasa ang aming sariling cookies maaari naming magamit ang mga parameter ng cookies cookies = dict (cookies = 'working') res = requests.get ('url', cookies = cookies) print (res.text)
Ang cookies ay ibinalik sa isang RequestCookieJar, na gumaganap tulad ng isang diksyunaryo ngunit nag-aalok din ng mas kumpletong interface, na angkop para sa paggamit sa maraming mga domain o mga landas.
Bagay sa Sisyon
Pinapayagan ka ng object ng session na magpatuloy sa ilang mga parameter sa mga kahilingan.- Nagpapatuloy sa cookies sa lahat ng mga kahilingang ginawa mula sa session ng session
- Gumamit ng urllib3 connection pooling
- Makabuluhang increse ng pagganap
- Ang isang bagay sa session ay mayroong lahat ng mga pamamaraan ng pangunahing mga kahilingan sa API
s = requests.session () s.get ('url') res = s.get ('url') print (res.text)
Mga Error At Exception
Ang mga sumusunod ay ang mga error at pagbubukod na naitaas sa isang kahilingan sa sawa.- Sa kaganapan ng problema sa network, ang mga kahilingan ay magtataas ng isang pagbubukod sa ConnectionError.
- Ang Response.raise_for_status () ay magtataas ng isang error sa HTTP kapag mayroong isang hindi matagumpay na code ng katayuan.
- Kung mayroong isang pag-timeout, tataasan nito ang isang pagbubukod sa Timeout
- Ang pagbubukod ng TooManyRedirects ay itataas kung ang kahilingan ay lumampas sa na-configure na bilang ng maximum na bilang ng mga pag-redirect.