Заявки на Python: Всичко, което трябва да знаете



Този блог ще ви преведе подробно през модула за заявки на python. Ще се запознаете с GET и POST заявки, обекти на сесии, бисквитки и заглавки.

Python иска почти 400 000 изтегляния всеки ден. Този брой е достатъчно очевиден, за да се разбере за популярността на това . През последните години езикът за програмиране python се превърна в най-желания език за програмиране за много разработчици. Концепциите и библиотеките като заявките са една от многото причини за разработчиците да преминат от други програмни езици към python. В този блог ще преминем през следните теми:

Какво е заявките на Python?

Заявките на Python са написани от Kenneth Reitz и лицензирани под apache 2.0. Това е HTTP библиотека, удобна за хората, както е споменато на официалната страница с документация. Той е лесен за използване и основно се използва за извършване на всякакви HTTP заявки. По-долу са дадени няколко разширени функции, с които се подават заявките:
  1. Поддържайте живи и обединяване на връзки
  2. Международни домейни и URL адреси
  3. Сесии с постоянство на бисквитки
  4. SSL проверка в стил браузър
  5. Автоматично декодиране на съдържание
  6. Основно / дайджест удостоверяване
  7. Елегантни бисквитки с ключ / стойност
  8. Автоматична декомпресия
  9. Тела за отговор на Unicode
  10. Поддръжка на HTTP прокси
  11. Качване на файлове от няколко части
  12. Изтегляне на поточно предаване
  13. Времето за изчакване на връзката
  14. Накъсани заявки
Това са всички разширени функции на библиотеката с заявки на python, нека се опитаме да разберем защо използваме заявките на python на първо място.

Защо да използвам заявки на Python?

Когато става въпрос за това защо използваме заявки на python? причината е доста проста. Докато използвате заявки на python, не е нужно ръчно да добавяте заявките към вашите URL адреси и да кодирате във формуляр данни за публикации. Това улеснява работата ни, когато отправяме http заявки от всякакъв вид.Сега, когато сме запознати с заявките на python и защо ги използваме в python, нека се опитаме да разберем как ще инсталираме заявки в нашия проект или система.

Как да инсталирам заявки за Python?

Инсталационната част също е много лесна. Ако имате инсталирана настройка на pipenv на вашата система, можете просто да изпълните следната команда в терминала.

$ pip заявки за инсталиране

конвертира двойно в int
Това ще инсталира библиотеката за заявки във вашата система. Има още един подход за инсталиране на заявки. Ако използвате pycharm, можете да добавите заявки към интерпретатора на проекта в настройките. Той служи на същата цел като терминала в случай на инсталиране на библиотеката по нашия проект.След като приключихме с инсталацията, нека се опитаме да разберем как ще направим заявки за получаване и публикуване в python.

Как да направите заявки за получаване и публикуване?

Заявката за получаване се използва основно за искане на данните от сървъра. Следва синтаксисът за отправяне на заявка за получаване.
заявки за импортиране res = request.get ('url') #res е обектът на отговор тук.
Искане за публикуване се използва за изпращане на данните, които ще бъдат обработени на сървъра. Следва синтаксисът за отправяне на заявка за публикация.
искане за импортиране полезен товар = {'key1': 'value1'} res = request.post ('url', data = payload)
Сега, когато знаем как можем да правим заявки за получаване и публикуване, нека да разгледаме как можем да предаваме параметри на URL адреса, използвайки заявката за получаване.

Предаване на параметри в URL адрес

Предаването на параметри в url е толкова просто, колкото отправянето на заявка за получаване. Следва пример за предаване на параметри към url.
искане за импортиране payload = {'key1': 'value1', 'key2': 'value2'} res = request.get ('url', params = payload) print (res.url) #this ще отпечата URL адреса с параметрите премина през заявката за получаване.

Код на състоянието

Можем да проверим и кода на състоянието, след това е кодът за проверка на кода на състоянието:





заявки за внос res = request.get ('url') print (res.status_code ())
Ако кодът върне 200, това означава, че няма грешка и заявката е добре. Ако направим лоша заявка, кодът ще върне код като 404 или 505, което ще доведе до http грешка.

Съдържание на отговора

Също така можем да прочетем съдържанието на отговора на сървъра. Библиотеката автоматично ще декодира съдържанието от сървъра.
заявки за внос res = request.get ('url') print (res.content)

Requests също има вграден json декодер.

заявки за внос res = request.get ('url') print (res.json ()) #this ще получи отговора във формат json

Качване на файл от няколко части

Качването на многокомпонентни файлове с помощта на заявки е много лесно.
импортиране на файлове с искания = {'файл': отворен ('име на файл', 'rb')} res = request.post ('url', files = files) print (res.text)
За изпращане на множество файлове ще посочим множество файлове в параметъра files.

„Бисквитки“ и заглавки

Можем да видим заглавките на сървъра за отговор и бисквитките, като използваме обекта за отговор. Следва кодът за преглед на хедърите на сървъра.
заявки за внос res = request.get ('url') print (res.headers)
Можем да предаваме персонализирани заглавки и на URL адреса. Нека да разгледаме кода.
импортиране на заглавки на заявки = {'key1': 'value1'} res = request.get ('url', headers = headers) print (res.headers)
Заявки не променя поведението си въз основа на персонализирани заглавки. Те просто се предават на крайната заявка. бисквитки може да се разглежда и с помощта на обекта за отговор.
заявки за импортиране # за предаване на нашите собствени бисквитки можем да използваме параметъра бисквитки бисквитки = dict (бисквитки = 'работещи') res = request.get ('url', бисквитки = бисквитки) print (res.text)

Бисквитките се връщат в RequestCookieJar, който действа като речник, но предлага и по-пълен интерфейс, подходящ за използване в множество домейни или пътища.



Обект на сесията

Обектът на сесията ви позволява да запазите определени параметри в заявките.
  • Запазва бисквитките във всички заявки, направени от екземпляра на сесията
  • Използвайте пул за връзка urllib3
  • Значително увеличение на производителността
  • Обектът на сесията има всички методи на API на основните заявки
Следва кодът за запазване на някои бисквитки в заявките.
s = заявки.session () s.get ('url') res = s.get ('url') print (res.text)

Грешки и изключения

Следват грешките и изключенията, възникнали в заявка на python.
  • В случай на мрежов проблем, заявките ще предизвикат изключение ConnectionError.
  • Response.raise_for_status () ще доведе до HTTP грешка, когато има неуспешен код на състоянието.
  • Ако има време за изчакване, това ще доведе до изключение за изчакване
  • Изключението TooManyRedirects се извежда, ако заявката надвишава конфигурирания брой на максималния брой пренасочвания.
В този блог обсъдихме модула за заявки на python, в който имаме различни разширени функции. Обсъдихме инсталирането и отправянето на заявка за получаване и публикуване със съдържанието на отговора и други концепции в библиотеката за заявки в python. Модулът за заявки на Python е една от многото необикновени функции, които не се предлагат език за програмиране на python . Можете да започнете обучението си, като се запишете и открийте възможностите на езика за програмиране на python. Имате ли въпроси? споменете ги в раздела за коментари, ще се свържем с вас.