リクエスト ライブラリを使用して Python アプリケーションで HTTP リクエストをキャプチャする方法

DDD
リリース: 2024-11-16 09:14:03
オリジナル
862 人が閲覧しました

How to Capture HTTP Requests in Python Applications Using the Requests Library?

Python アプリケーションでの HTTP リクエストの検査

API 呼び出し中のエラーの原因を特定することは、特にエラー応答に具体的な詳細が欠けている場合に困難になることがあります。 。このような問題を解決するために、API プロバイダーは多くの場合、ヘッダーを含む HTTP リクエスト全体を必要とします。この記事では、一般的なリクエスト ライブラリを使用してこれらのリクエストをキャプチャするための便利なアプローチを紹介します。

ログを使用してリクエストをキャプチャする

リクエストの最新バージョン (1.x 以降) HTTP リクエストをキャプチャするためのシンプルなロギング メカニズムを提供します。 http.client レベルでデバッグを有効にすることで、リクエスト (ヘッダーと本文を含む) とレスポンス (ヘッダーを含む) の両方をログに記録できます。

実装

次のコード スニペットは、HTTP リクエスト ログを有効にする方法を示しています。

import requests
import logging

# Enable debugging at http.client level
http_client.HTTPConnection.debuglevel = 1

# Initialize and configure logging
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')
ログイン後にコピー

このコードを実行すると、リクエスト ログが有効になり、ログ データが request_log 変数に保存されます。その後、必要に応じてこの変数からリクエスト ヘッダーと本文にアクセスできます。

出力例

以下は、ロギング メカニズムによって生成されるデバッグ出力の例です。

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'
ログイン後にコピー

この出力には、HTTP メソッド、URI、ヘッダー、リクエスト本文 (存在する場合) を含む HTTP リクエスト全体が含まれます。この情報を API プロバイダーに提供すると、エラーの特定と解決が容易になります。

以上がリクエスト ライブラリを使用して Python アプリケーションで HTTP リクエストをキャプチャする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート