上周写个项目上批量处理一些数据的脚本,有用到一个附件上传接口,这个接口要在webform中传一些参数值和文件
以前没写过用python发送web表单的,在网上搜了下,找到的都是不带文件的webform表单发送,或者只是发文件的,搬过来用不了(也可能是接口内部处理逻辑不同的原因),折腾了不少时间
后来在公司内部的技术交流平台上,找到了解决方法,给大家分享一下
import requests
url=''
headers = {} # 按需填写,heder好像没啥特殊参数,如果发送失败,Content-Type加下multipart/form-data试试
cookies = {} # 按需填写
filePath = '' # 本地文件路径
fileType='' # 抓包看webform表单里的文件type,然后填这儿
# 表单中的数据,传给data
data = {'user':'user','pwd':'pwd'}
# 表单中的文件传给files
files = {'文件参数名':('文件名',open(filePath,'rb'),fileType)} # 参数名不知道的话可抓包看webform里是啥
requests.post(url,data=data,files=files,headers=headers,cookies=cookies)