Python 3のrequestsモジュールでmultipart/form-dataを送信する方法
Pythonのrequestsモジュールは、HTTPリクエストを簡単に送信できる強力なライブラリです。特に、ファイルアップロードやフォームデータの送信に便利な”multipart/form-data”形式をサポートしています。この記事では、requestsモジュールを使ってこの形式でデータを送信する方法を詳しく解説します。
requestsモジュールのインストール
まず、requestsモジュールがインストールされていることを確認しましょう。インストールされていない場合は、以下のコマンドを使用してインストールできます。
pip install requests
multipart/form-data形式とは
“multipart/form-data”は、HTTPリクエストでファイルやデータを送信する際に使用される形式です。この形式を使うと、複数の異なる種類のデータを一度に送信することができます。例えば、ファイルとテキストデータを同時に送信することが可能です。
基本的な使い方
以下に、requestsモジュールを使って”multipart/form-data”形式でデータを送信する基本的な方法を示します。この例では、ファイルとテキストデータを一緒に送信します。
import requests url = 'https://example.com/upload' files = {'file': open('example.txt', 'rb')} data = {'key1': 'value1', 'key2': 'value2'} response = requests.post(url, files=files, data=data) print(response.status_code) print(response.text)
このコードでは、example.txtというファイルといくつかのテキストデータを指定したURLにPOSTリクエストとして送信しています。
複数ファイルの送信
複数のファイルを送信する場合、files辞書に複数のファイルを追加できます。以下の例では、二つのファイルを送信しています。
files = { 'file1': open('example1.txt', 'rb'), 'file2': open('example2.txt', 'rb') } response = requests.post(url, files=files) print(response.status_code) print(response.text)
ファイルのMIMEタイプを指定する
ファイルのMIMEタイプを指定することも可能です。以下の例では、画像ファイルを送信する際にMIMEタイプを指定しています。
files = { 'image': ('example.jpg', open('example.jpg', 'rb'), 'image/jpeg') } response = requests.post(url, files=files) print(response.status_code) print(response.text)
まとめ
requestsモジュールを利用すると、Pythonで簡単に”multipart/form-data”形式のHTTPリクエストを作成できます。ファイルやデータを同時に送信する必要がある場合に非常に便利です。この記事で紹介した方法を活用して、さまざまなHTTPリクエストを試してみてください。
Python 3 で requests ライブラリを使用して “multipart/form-data” を送信する方法は、ファイルを含む HTTP リクエストを作成することです。この方法を使用すると、ファイルやテキストデータを含む複数のデータを一度に送信できます。
以下は、requests ライブラリを使用して “multipart/form-data” を送信する基本的な方法です。
“`python
import requestsurl = ‘http://example.com/upload’
files = {‘file’: open(‘example.txt’, ‘rb’)}
data = {‘key’: ‘value’}response = requests.post(url, files=files, data=data)
print(response.text)
“`このコードでは、`requests.post()` メソッドを使用して、指定した URL に対してファイルとデータを含む POST リクエストを送信しています。`files` パラメータには、ファイルを含む辞書を指定し、`data` パラメータには、その他のデータを含む辞書を指定します。
このようにして、Python 3 で requests ライブラリを使用して “multipart/form-data” を送信することができます。