Python 애플리케이션에서 HTTP 요청 검사
API 호출 중 오류 소스를 식별하는 것이 어려울 수 있으며, 특히 오류 응답에 특정 세부정보가 부족한 경우 더욱 그렇습니다. . 이러한 문제를 해결하기 위해 API 공급자는 헤더를 포함한 전체 HTTP 요청을 요구하는 경우가 많습니다. 이 문서에서는 인기 있는 요청 라이브러리를 사용하여 이러한 요청을 캡처하는 편리한 접근 방식을 제시합니다.
로깅을 사용하여 요청 캡처
최신 버전의 요청(1.x 이상) HTTP 요청을 캡처하는 간단한 로깅 메커니즘을 제공합니다. http.client 수준에서 디버깅을 활성화하면 요청(헤더 및 본문 포함)과 응답(헤더 포함)을 모두 기록할 수 있습니다.
구현
다음 코드 조각은 HTTP 요청 로깅을 활성화하는 방법을 보여줍니다.
import requests import logging # Enable debugging at http.client level http_client.HTTPConnection.debuglevel = 1 # Initialize and configure logging logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True # Make an HTTP request requests.get('https://httpbin.org/headers')
이 코드를 실행하면 요청 로깅이 활성화되고 기록된 데이터가 요청_로그 변수에 저장됩니다. 그런 다음 필요에 따라 이 변수에서 요청 헤더와 본문에 액세스할 수 있습니다.
출력 예
다음은 로깅 메커니즘에 의해 생성된 디버그 출력의 예입니다.
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'
이 출력에는 HTTP 메서드, URI, 헤더 및 요청 본문(있는 경우)을 포함한 전체 HTTP 요청이 포함됩니다. 이 정보를 API 제공업체에 제공하면 오류 식별 및 해결이 용이해집니다.
위 내용은 요청 라이브러리를 사용하여 Python 애플리케이션에서 HTTP 요청을 캡처하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!