>  기사  >  백엔드 개발  >  Python 애플리케이션에서 전체 HTTP 요청에 액세스하는 방법은 무엇입니까?

Python 애플리케이션에서 전체 HTTP 요청에 액세스하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-19 08:35:02770검색

How to Access the Full HTTP Request in Python Applications?

Python 애플리케이션에서 전체 HTTP 요청에 액세스

API 관련 오류가 발생하면 추가 조사를 위해 지원팀에 전체 HTTP 요청을 제공해야 하는 경우가 많습니다. . 여기에는 응답 페이로드뿐만 아니라 요청 헤더도 포함됩니다.

Python 애플리케이션에서는 최신 버전의 요청 라이브러리(1.x 이상)를 사용하여 이를 달성할 수 있습니다. 요청은 로깅 모듈을 활용하여 HTTP 요청의 자세한 정도를 제어합니다. http.client 수준에서 디버그 모드를 활성화하면 헤더와 데이터를 포함한 전체 요청을 캡처할 수 있습니다.

데모

다음 코드 조각은 디버그 로깅을 활성화하는 방법을 보여줍니다.

import requests
import logging

# Enable HTTP client debugging
http_client.HTTPConnection.debuglevel = 1

# Configure loggers
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')

출력 예

코드가 실행되면 다음 디버그 출력이 관찰됩니다.

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

이 출력은 모든 헤더를 포함하여 요청에 대한 자세한 로그를 제공합니다. 및 응답 상태 코드.

위 내용은 Python 애플리케이션에서 전체 HTTP 요청에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.