ホームページ  >  記事  >  バックエンド開発  >  Python アプリケーションで完全な HTTP リクエストにアクセスするにはどうすればよいですか?

Python アプリケーションで完全な HTTP リクエストにアクセスするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-19 08:35:02771ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。