リクエストを使用した Python での生の HTTP リクエストの出力
リクエスト モジュールを使用する場合、生の HTTP リクエスト全体を調べる必要が生じる場合があります。 、リクエスト行、ヘッダー、メッセージ本文を含みます。このガイドでは、完全な生の HTTP リクエストをキャプチャして出力する手法について説明します。
Requests (v1.2.3) に最近追加された PreparedRequest オブジェクトは、まさにそれを行う手段を提供します。 PreparedRequest オブジェクトはサーバーに送信される HTTP リクエストを表し、その正確なバイトへのアクセスを提供します。
リクエストを整形するには、次の Python コードを利用できます:
<code class="python">import requests req = requests.Request('POST','http://stackoverflow.com',headers={'X-Custom':'Test'},data='a=1&b=2') prepared = req.prepare() def pretty_print_POST(req): """ Pretty-print the prepared request. Note: The formatting used here may differ from the actual request. """ 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, )) pretty_print_POST(prepared)</code>
このコードは、リクエスト行、ヘッダー、本文を含む、準備されたリクエスト全体を効果的にキャプチャし、視覚的に魅力的な形式で表示します。準備されたリクエストは、次のコードを使用してサーバーに送信できます。
<code class="python">s = requests.Session() s.send(prepared)</code>
PreparedRequest オブジェクトを使用すると、サーバーに送信する前に生の HTTP リクエストを徹底的に検査して出力できます。これは、HTTP リクエストの複雑な詳細をデバッグしたり理解したりする場合に特に役立ちます。
以上がPython を使用して生の HTTP リクエストをキャプチャして出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。