ホームページ >バックエンド開発 >Python チュートリアル >form-data を使用して Python でファイルリクエストをアップロードする方法

form-data を使用して Python でファイルリクエストをアップロードする方法

王林
王林転載
2023-05-15 09:10:052486ブラウズ

従来のインターフェイスのほとんどは json 形式でリクエストされるようになりました。

ただし、一部のインターフェイスではファイル ストリームを送信する必要が避けられず、この場合はフォームデータ形式でアップロードする必要があります

for.e:

次のインターフェイスが存在します。ポスター画像はインターフェイスを通じて作成されますが、サムネイルをアップロードする必要があります。

現時点では、インターフェイスの Content-Type を application/json にすることはできませんが、 multipart/form-data にすることはできません。

パラメータ形式もフォームの形式で渡されます。

これは非常に簡単です。 postman でファイル フローを設定します。ファイル形式を設定すると、ローカルにアップロードするファイルを選択できます。下の図を参照してください。

form-data を使用して Python でファイルリクエストをアップロードする方法

実際のリクエスト インターフェイスは成功する可能性があります。

form-data を使用して Python でファイルリクエストをアップロードする方法

Python を使用して上記のリクエストを完了するには、明確なリクエスト メソッドとデータ型、およびファイルの読み込みファイルをアップロードする必要があります

import requests
import json
from requests_toolbelt.multipart.encoder import MultipartEncoder
 
url='http://XXX.xxx.xxx.xx:9900/api-marketing-center/poster/save'
 
data={'activityName':'我是个海报2',
        'backgroundPicUrl':'https://xxxxx/default/f865a1aa66adfe50d005bd840e2c3356.jpg',
        'copywriting':'我是个海报  看看我2',
        'endTime':'2021-08-14 16:00:00',
        'startTime':'2021-08-11 16:00:00',
        'giftPicUrl':'https://xxxxx/file/c363c3173ac7c02393bf60018031073d.PNG',
        'qrCodeUrl':'https://xxxxxx/file/c363c3173ac7c02393bf60018031073d.PNG',
        'posterUrlThumbnail':'文件'
        }
files = {"posterUrlThumbnail": open('C:/Users/Lenovo/Desktop/格式测试/12.PNG', "rb")}
 
headers={'AUTH_MERCHANTS_ID': '76',
'Authorization': 'Bearer ad8cbdf3-c827-470a-aba5-076f0f3a9628'}  
 
r=requests.post(url=url,params=data, headers=headers,files=files)
 
print(r.json())
 
#{'code': 0, 'msg': '操作成功', 'data': None}

data: リクエストのパラメータを入力しますこの中で、アップロード ファイルのパラメーター名に注意する必要があります。 stream

files = {"posterUrlThumbnail": open( 'C:/Users/Lenovo/Desktop/Format Test/12. PNG', "rb")}

posterUrlThumbnail は割り当てに使用されるパラメータ名です。ファイルを開いて割り当てを読み取ります

上記の最も単純なハードコーディングされたヘッダーを使用します。

リクエスト ライブラリ メソッドを呼び出して

をリクエストすると、結果が得られます

もちろん、より複雑な方法でログイン メソッドをカプセル化して、login を呼び出すこともできます。トークンと必要なヘッダーパラメータを取得します

以上がform-data を使用して Python でファイルリクエストをアップロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。