문제 해결을 위해 Python에서 HTTP 요청 캡처
HTTP 오류가 발생하면 특히 외부 지원에 자세한 요청 정보가 필요한 경우 실망스러울 수 있습니다. 이 문서에서는 요청 라이브러리를 사용하여 Python 애플리케이션에서 보낸 전체 HTTP 요청을 캡처하는 방법을 설명합니다. 최신 버전의 Requests에서 로그인을 활성화하면 요청의 헤더, 데이터 및 응답에 대한 귀중한 통찰력을 얻을 수 있습니다.
Requests는 Python 로깅 모듈을 활용하여 로깅의 자세한 정도를 구성합니다. 로깅을 활성화하려면 다음과 같이 코드를 수정하세요.
import logging # Enable debugging at http.client level logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) # Set logging level for requests.packages.urllib3 requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True
로깅을 활성화한 후 httpbin.org와 같은 공개 API에 대한 GET 요청을 실행할 수 있습니다.
import requests requests.get('https://httpbin.org/headers')
로깅 출력에는 다음과 같은 귀중한 정보가 포함됩니다. request:
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): httpbin.org send: 'GET /headers HTTP/1.1\r\nHost: httpbin.org\r\nAccept-Encoding: gzip, deflate, compress\r\nAccept: */*\r\nUser-Agent: python-requests/1.2.0 CPython/2.7.3 Linux/3.2.0-48-generic\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' header: Content-Type: application/json header: Date: Sat, 29 Jun 2013 11:19:34 GMT header: Server: gunicorn/0.17.4 header: Content-Length: 226 header: Connection: keep-alive DEBUG:requests.packages.urllib3.connectionpool:"GET /headers HTTP/1.1" 200 226
출력에는 헤더와 응답 본문의 처음 1024바이트를 포함한 전체 요청이 표시됩니다. 이 정보는 HTTP 오류의 원인을 식별하고 외부 지원 팀과 통신하는 데 매우 중요할 수 있습니다.
위 내용은 디버깅을 위해 Python에서 HTTP 요청을 캡처하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!