Python 3 で urllib.request.urlopen() 関数を使用して POST リクエストを送信する方法xx
ネットワーク プログラミングでは、多くの場合、HTTP プロトコルを介して POST リクエストを送信して対話する必要があります。サーバー。 Python は、POST リクエストを含むさまざまな HTTP リクエストを送信するための urllib.request.urlopen() 関数を提供します。この記事では、urllib.request.urlopen() 関数を使用して POST リクエストを送信する方法をコード例とともに詳しく説明します。
urllib.request.urlopen() 関数は、Python 標準ライブラリの HTTP クライアント モジュールで、HTTP リクエストの送信と HTTP レスポンスの受信に使用されます。 GET リクエストとは異なり、POST リクエストはデータをサーバーに送信し、サーバーが送信されたデータをそれに応じて処理することを期待します。
以下は、urllib.request.urlopen() 関数を使用して POST リクエストを送信するための一般的な手順です。
import urllib.request
data = { 'key1': 'value1', 'key2': 'value2' }
import urllib.parse url = 'http://example.com/post' data = { 'key1': 'value1', 'key2': 'value2' } data = urllib.parse.urlencode(data).encode() req = urllib.request.Request(url, data=data, method='POST')
response = urllib.request.urlopen(req) result = response.read().decode() print(result)
上記の手順で、url はリクエストを送信するターゲット URL、data は送信される POST データです。リクエスト オブジェクトを作成するとき、urlencode() 関数を使用してデータを URL エンコードされた文字列に変換し、encode() メソッドを使用してデータをバイト ストリームにエンコードします。
最後に、urlopen() 関数を使用してリクエストを送信し、read() メソッドを通じて応答の内容を読み取ります。 decode() メソッドを使用して応答コンテンツをデコードし、結果を出力します。
POST リクエストには追加の HTTP リクエスト ヘッダー情報が含まれる場合があることに注意してください。これらの追加のリクエスト ヘッダーは、リクエスト オブジェクトの作成時に headers パラメーターを追加することで設定できます。
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.3', 'Content-Type': 'application/x-www-form-urlencoded' } req = urllib.request.Request(url, data=data, headers=headers, method='POST')
上記のコード例では、2 つのリクエスト ヘッダー User-Agent と Content-Type が headers パラメーターを通じて設定されています。
概要
この記事では、Python の urllib.request.urlopen() 関数を使用して POST リクエストを送信する方法を紹介します。まず urllib.request モジュールをインポートし、次に URL と POST データを含むリクエスト オブジェクトを作成し、最後に urlopen() 関数を使用してリクエストを送信し、レスポンスを取得します。 headers パラメーターを追加することで、追加のリクエスト ヘッダー情報を設定することもできます。
上記は、urllib.request.urlopen() 関数を使用して POST リクエストを送信する簡単な例です。 Python で POST リクエストを送信する方法を理解し、実際のプロジェクトに適用する方法を理解するのに役立つことを願っています。
以上がurllib.request.urlopen() 関数を使用して Python 3.x で POST リクエストを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。