ホームページ >バックエンド開発 >Python チュートリアル >Python リクエストを使用して生の HTTP リクエストを出力するには?
Python リクエストでの生の HTTP リクエストの出力
Python のリクエスト モジュールでは、リクエスト行を含む未編集の HTTP リクエストを出力できます。ヘッダーとコンテンツ。これは、デバッグの目的や、送信される正確な HTTP リクエストの検査に役立ちます。
リクエスト モジュールのバージョン 1.2.3 から、PreparedRequest オブジェクトが導入されました。このオブジェクトは、すべてのヘッダーとコンテンツを備えた、完全に構築された 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>
この関数は、
実際のリクエストを印刷後に送信するには、例に示すように、リクエストの Session オブジェクトで send メソッドを使用できます。
以上がPython リクエストを使用して生の HTTP リクエストを出力するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。