В этом посте мы обсудим, как включить или отключить ведение журнала при использовании библиотеки запросов в Python. Хотя вам редко потребуется включать ведение журнала при использовании запросов, это может быть полезно при отладке вашего приложения или целевого ресурса.
Requests Enable Logging
Чтобы включить регистрацию запросов, добавьте следующую строку:
import logging
logging.getLogger(“requests”).setLevel(logging.DEBUG)
Данная запись должна включить уровень журнала DEBUG, что позволит вам просматривать сообщения отладки из библиотеки запросов.
Пример показан на следующем рисунке:
>>> import logging
>>> logging.getLogger(«requests»).setLevel(logging.DEBUG)
>>> from http.client import HTTPConnection
>>> HTTPConnection.debuglevel = 1
>>> import requests
>>> requests.get(«https://linuxhint.com»)
Запуск данного кода должен возвращать очень подробное сообщение о каждой инструкции на целевой URL.
Пример вывода выглядит следующим образом:
send: b‘GET / HTTP/1.1\r\nHost: linuxhint.com\r\nUser-Agent: python-requests/2.28.1\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nConnection: keep-alive\r\n\r\n‘
reply: ‘HTTP/1.1 200 OK\r\n‘
header: Date: Mon, 19 Sep 2022 11:52:01 GMT
header: Content-Type: text/html; charset=UTF-8
header: Transfer-Encoding: chunked
header: Connection: keep-alive
header: vary: Accept-Encoding
header: set-cookie: ppwp_wp_session=3c0dcc6983321f9444f94a84a9d3d4a0%7C%7C1663590121%7C%7C1663589761; expires=Mon, 19-Sep-2022 12:22:01 GMT; Max-Age=1800; path=/
header: expires: Wed, 11 Jan 1984 05:00:00 GMT
header: Cache-Control: no-cache, must-revalidate, max-age=0, no-store
header: link: <https://linuxhint.com/wp-json/>; rel=«https://api.w.org/»
header: link: <https://linuxhint.com/wp-json/wp/v2/pages/238>; rel=«alternate»; type=«application/json»
header: link: <https://linuxhint.com/>; rel=shortlink
header: x-powered-by: centminmod
header: x-hosted-by: BigScoots
header: content-security-policy: block-all-mixed-content;
header: x-xss-protection: 1; mode=block
header: x-content-type-options: nosniff
header: CF-Cache-Status: DYNAMIC
header: Report-To: {«endpoints»:[{«url»:«https:\/\/a.nel.cloudflare.com\/report\/v3?s=%2BJ9DRCCFfwaUM%2Fm%2F8xgPZ0ZjrUAFxQsWrHcw%2BcfaatFXNj3PLZgFq5Z1gFY
dAGttdWQT%2FyInfOJmOw0Yh1KxbyxLInnBgXJhfDXfYK9NMPpiii1cL8mW31PMLn4oeAPX»}],«group»:«cf-nel»,«max_age»:604800}
header: NEL: {«success_fraction»:0,«report_to»:«cf-nel»,«max_age»:604800}
header: Server: cloudflare
header: CF-RAY: 74d21cda5c69d739-DAR
header: Content-Encoding: gzip
header: alt-svc: h3=«:443»; ma=86400, h3-29=«:443»; ma=86400
<Response [200]>
На данном рисунке показаны сообщения журнала при выполнении запроса к целевому URL.
Requests Disable Logging
Вы можете отключить ведение журнала для запросов, установив уровень журнала на 0, как показано ниже:
>>> HTTPConnection.debuglevel = 0
Затем мы можем сделать запрос к целевому ресурсу следующим образом:
>>> requests.get(«https://linuxhint.com»)
<Response [200]>
Мы видим, что уровень журнала отключен.
Заключение
В этом посте мы обсудили, как включить и отключить ведение журнала в библиотеке запросов Python с помощью регистратора Python.