ホームページ >バックエンド開発 >Python チュートリアル >Requests ライブラリを使用して Python で Multipart/Form-Data リクエストを送信するにはどうすればよいですか?
Python でのリクエストによる "Multipart/Form-Data" の送信
Multipart/form-data は、ファイルのアップロードに使用される一般的なエンコーディングです。他のデータを Web サーバーに送信します。 Python の Requests ライブラリを使用すると、マルチパート/フォームデータ リクエストを簡単に送信できます。
ファイルの送信
ファイルを送信するには、次の files パラメータを使用できます。 post() メソッド。このパラメータは、キーがフォーム フィールド名で、値がアップロードするファイル オブジェクトであるディクショナリを想定しています。
フォーム データの送信
ファイルに加えて、 files パラメータを使用してフォーム データを送信することもできます。ただし、files パラメータを指定すると、リクエストはデフォルトの application/x-www-form-urlencoded POST ではなく multipart/form-data POST を送信することに注意することが重要です。
To send form data using the files パラメータを使用すると、文字列またはバイト オブジェクトをフォーム フィールドの値として渡すだけで済みます。例:
import requests files = {'foo': 'bar'} response = requests.post('http://httpbin.org/post', files=files)
ファイル パラメーターのカスタマイズ
ファイル名、コンテンツ タイプ、および各ファイルの追加ヘッダーを、単一の文字列またはバイトオブジェクト。タプルには次のものが含まれている必要があります。
向け例:
files = {'foo': (None, 'bar')} # No filename parameter
同じ名前で複数のフィールドを送信
タプルのリストを値として指定することで、同じ名前で複数のフィールドを送信することもできます。ファイルパラメータ。例:
files = {'foo': [(None, 'bar'), (None, 'baz')]}
Requests-Toolbelt の使用
requests-toolbelt プロジェクトは、マルチパート/フォームデータ リクエストの送信プロセスを簡素化する高度なマルチパート エンコーダーを提供します。 。このエンコーダを使用すると、次のことができます。
例:
from requests_toolbelt.multipart.encoder import MultipartEncoder mp_encoder = MultipartEncoder( fields={ 'foo': 'bar', 'spam': ('spam.txt', open('spam.txt', 'rb'), 'text/plain'), } ) headers = {'Content-Type': mp_encoder.content_type} response = requests.post('http://httpbin.org/post', data=mp_encoder, headers=headers)
以上がRequests ライブラリを使用して Python で Multipart/Form-Data リクエストを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。