python表单请求

python POST表单提交文件

描述

现有需求需要用python脚本提交图片文件和一个字段数据到某接口。以模拟form表单方式。

技术点

method: POST

Content-Type: multipart/form-data

参数:
username=xxx

picture=filename

脚本:

from collections import OrderedDict
import requests

# 构建有序字典
filename = './cat.png'
pFlie = ''
params = OrderedDict([("username", (None, 'xxx')),
                  ("picture", open(filename, 'rb'))
                  ])

res = requests.post('localhost:8080', files=params)
print(res.content.decode('utf-8'))

解释

requests.post方法如果指定data,一般用于json格式数据的请求。

但如果指定files字段,并且传入字典或是上面使用的有序字典,就自动设置为multipart/form-data请求。

普通字段必须写成("username", (None, 'xxx')),而文件需要打开,上面没正确关闭文件。

你可能感兴趣的:(python,python)