一:前言
最近打算利用python+requests做一套自动化用例,跑通目前测试工作的主流程。 有个主流程是需要上传文件来达到订单的状态流转,需要利用到post方法来上传文件。
二:正文
请求头:
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate",
"Content-Type": "multipart/form-data; boundary=------WebKitFormBoundarycZvKBgyXOnm1cq6n",
"Client-Type": "PC",
"Authorization": "Bearer "+ token,
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36"
1 token值需要自行取调用登录接口,来获取;
2 Content-Type是multipart/form-data和boundary,
multipart/form-data可以让post方法支持向上传二进制数据;
boundary作用类似&,用于让服务器知道如何拆分接受到的数据,只要这个分割符不和参数里面的值一模一样就没问题,服务器接收到整个数据包的时候,只是通过这个分隔符来分割参数,不会去校验这个boundary,只会去校验里面参数值是否符合条件。(具体可以参考stackoverflow.com/questions/3…
请求体:
这种格式的请求体我们可以利用requests-toolbelt的MultipartEncoder来构造:
(具体可以参考www.cnblogs.com/mysticbinar…
万事俱备,我们开始执行我们的代码:
成功!