Python 요청에서 원시 HTTP 요청 인쇄
Python의 요청 모듈에서는 요청 라인을 포함하여 편집되지 않은 HTTP 요청을 인쇄할 수 있습니다. 헤더 및 콘텐츠. 이는 디버깅 목적이나 전송되는 정확한 HTTP 요청을 검사하는 데 유용할 수 있습니다.
요청 모듈 버전 1.2.3부터 ReadyRequest 객체가 도입되었습니다. 이 객체는 모든 헤더와 콘텐츠를 포함하여 완전히 구성된 HTTP 요청을 나타냅니다. 요청 객체에 prepare 메소드를 사용하면 preparedRequest 객체가 생성됩니다.
PreparedRequest를 사용하여 원시 HTTP 요청을 인쇄하려면 아래 표시된 Pretty_print_POST 함수를 사용할 수 있습니다.
<code class="python">import requests # Example request req = requests.Request('POST', 'http://stackoverflow.com', headers={'X-Custom': 'Test'}, data='a=1&b=2') # Prepare the request prepared = req.prepare() def pretty_print_POST(req): print('{}\n{}\r\n{}\r\n\r\n{}'.format( '-----------START-----------', req.method + ' ' + req.url, '\r\n'.join('{}: {}'.format(k, v) for k, v in req.headers.items()), req.body, )) # Print the raw HTTP request pretty_print_POST(prepared) # Send the request (if desired) s = requests.Session() s.send(prepared)</code>
이 함수는 요청 메소드, URL, 헤더 및 콘텐츠를 형식화된 방식으로 저장합니다.
실제 요청을 인쇄한 후 전송하려면 예시와 같이 요청 세션 객체에 send 메소드를 사용할 수 있습니다.
위 내용은 Python 요청으로 원시 HTTP 요청을 인쇄하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!