Postman和Python Request测试多行Form-data

        1、请求参数有多个,F12查看请求体如下:

   

    查看源代码:

------WebKitFormBoundaryHknGXm9VkhRUXZYC
Content-Disposition: form-data; name="custId"

IICON004
------WebKitFormBoundaryHknGXm9VkhRUXZYC
Content-Disposition: form-data; name="custName"

zljun8210@live.cn
------WebKitFormBoundaryHknGXm9VkhRUXZYC
Content-Disposition: form-data; name="workOrderId"

396215
------WebKitFormBoundaryHknGXm9VkhRUXZYC
Content-Disposition: form-data; name="comment"

Yes
------WebKitFormBoundaryHknGXm9VkhRUXZYC
Content-Disposition: form-data; name="file"

undefined
------WebKitFormBoundaryHknGXm9VkhRUXZYC--

    原始请求上的Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryHOwJrytA0cCkCKXb

    

2、 在Postman上添加HTTP请求,配置如下:    
3、 Python代码处理如下:
import requests
import urllib3
from requests_toolbelt import MultipartEncoder


def customerReply(custid, woid, comments):
    url = 'https://xxx.xxx.xxx/xxxxxx/api/workorder/addcomment'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'}

    data = MultipartEncoder({
        'custId': '%s' % custid,
        'custName': 'AutoReplyer',
        'workOrderId': '%s' % woid,
        'comment': '%s' % comments
    })

    headers['Content-Type'] = data.content_type
    urllib3.disable_warnings()
    resut = requests.post(url=url, headers=headers, data=data, verify=False)

    if resut.status_code == 200:
        # sys.stderr.write('customer replied !')
        return True
    else:
        return False


if __name__ == '__main__':
    customerReply('IICON004', 396215, 'customer reply test.')

    注意:与普通的接口测试有区别的是,headers里面的Content-Type要取消,另外定义 data.content_type,请求后会自动处理。

    如果还是用以下这种header,Post请求后会报405错误。    

headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36',
            'Content-Type': 'text/plain;charset=UTF-8'}

以上。

相关推荐

  1. form-data、x-www-form-urlencoded、raw binary

    2024-04-04 12:08:03       43 阅读
  2. content-type之multipart/form-dataapplication/json比较

    2024-04-04 12:08:03       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 12:08:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 12:08:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 12:08:03       82 阅读
  4. Python语言-面向对象

    2024-04-04 12:08:03       91 阅读

热门阅读

  1. Qt5.14.2 揭秘Qt日志神器高效诊断程序潜在隐疾

    2024-04-04 12:08:03       26 阅读
  2. C++4.2

    2024-04-04 12:08:03       30 阅读
  3. os模块篇(十二)

    2024-04-04 12:08:03       32 阅读
  4. 5.108 BCC工具之virtiostat.py解读

    2024-04-04 12:08:03       36 阅读
  5. .net 实现的 Webscoket 对象的一些细节和疑问

    2024-04-04 12:08:03       41 阅读
  6. Ideal Holidays

    2024-04-04 12:08:03       38 阅读