zoukankan      html  css  js  c++  java
  • python:关于postman中生成的基于requests库的接口代码

    postman中生成的基于requests库的接口请求代码:

    import requests
    
    url = "http://**.***.**.**/***-api/****rders/buildOrder"
    
    querystring = {"loginId":"e8e6739b087a48eb91345d6ef39180a4"}
    
    payload = "{
        "customCode": "",
        "apvalue": 0,
        "agentValue": 0,
        "supportValue": 0,
        "district": [],
        "districtSend": [],
        "orderProducts": [
            {
                "id": "",
                "itemCount": 1,
                "itemName": "2",
                "itemValue": "",
                "itemWeight": 0,
                "remark": ""
            }
        ],
        "fromCityCode": "DIST_INTERNAL_610100",
        "fromCityName": "西安市",
        "fromDistrictCode": "DIST_INTERNAL_610113",
        "fromDistrictName": "雁塔区",
        "fromProvinceCode": "DIST_INTERNAL_610000",
        "fromProvinceName": "陕西省",
        "toCityCode": "DIST_INTERNAL_150100",
        "toCityName": "呼和浩特市",
        "toDistrictCode": "DIST_INTERNAL_150102",
        "toDistrictName": "新城区",
        "toProvinceCode": "DIST_INTERNAL_150000",
        "toProvinceName": "内蒙古自治区",
        "sendAddress": "软件新城3",
        "sendMobile": "18191218230",
        "sendName": "党青亚",
        "sendPhone": "02912345678",
        "receiveName": "收件",
        "receiveMobile": "13300001111",
        "receivePhone": "",
        "receiveAddress": "详细",
        "checkedSender": false,
        "checkedReciver": false,
        "customLogisticNo": null,
        "wrapUpNum": 1,
        "newSource": "YTO-STEWARD",
        "status": 0,
        "stockSaveRequests": {
            "stockGoodsRequests": []
        }
    }"
    headers = {
        'Content-Type': "application/json",
        'jwt-token': "eyJhbGciOiJIUzI1NiJ9.eyJleHAi***xNzEsInN1YzMSoqKjM4MTM3XCIsXCJnpcmVkXCI6ZmFsc2UsXCJhY2NvdW50Tm9uTG9ja2VkXCI6ZmFsc2V9In0.t6S6_54BBSZvthndhQxBVey7FuYEQ4oC9ncmbodzasY",
        'cache-control': "no-cache",
        'Postman-Token': "447abf40-88a9-4cb5-bdec-9aa388f6f86e"
        }
    
    response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
    
    print(response.text)

    可以看到本来入参是一个json,但生成是变味了一个字符串,和postman中完全不一样,加了很多的 ,看着很乱

    其实只需要在请求时使用:requests.post(url, json=data, headers=headers)就可以了,入参就可以直接写为字典了,将入参赋值给json参数

    import requests
    
    url = "http://**.*.*.*/**-api/**Orders/buildOrder?loginId=e8e6739b087a48eb91345d6ef39180a4"
    
    data = {
        "customCode": "",
        "apvalue": 0,
        "agentValue": 0,
        "supportValue": 0,
        "district": [],
        "districtSend": [],
        "orderProducts": [
            {
                "id": "",
                "itemCount": 1,
                "itemName": "2",
                "itemValue": "",
                "itemWeight": 0,
                "remark": ""
            }
        ],
        "fromCityCode": "DIST_INTERNAL_610100",
        "fromCityName": "**",
        "fromDistrictCode": "DIST_INTERNAL_610113",
        "fromDistrictName": "**",
        "fromProvinceCode": "DIST_INTERNAL_610000",
        "fromProvinceName": "**",
        "toCityCode": "DIST_INTERNAL_150100",
        "toCityName": "呼和浩特市",
        "toDistrictCode": "DIST_INTERNAL_150102",
        "toDistrictName": "新城区",
        "toProvinceCode": "DIST_INTERNAL_150000",
        "toProvinceName": "内蒙古自治区",
        "sendAddress": "**",
        "sendMobile": "***",
        "sendName": "**",
        "sendPhone": "02912345678",
        "receiveName": "收件",
        "receiveMobile": "13300001111",
        "receivePhone": "",
        "receiveAddress": "详细",
        "checkedSender": False,
        "checkedReciver": False,
        "customLogisticNo": "",
        "wrapUpNum": 1,
        "newSource": "YTO-STEWARD",
        "status": 0,
        "stockSaveRequests": {
            "stockGoodsRequests": []
        }
    }
    
    headers = {"Content-Type": "application/json", "jwt-token": "eyJhCI6ZmFsc2V9In0.t6S6_54BBSZvthndhQxBVey7FuYEQ4oC9ncmbodzasY"}
    res = requests.post(url, json=data, headers=headers)
    print(res.json())
  • 相关阅读:
    2017-3-31 操作属性 定时器 操作内容 操作相关元素 元素创建添加删除
    2017-3-30 Js实现导航栏,选项卡,图片轮播的制作
    2017-3-30 DOM查找元素 点击,鼠标移入,移除事件 样式控制
    Js产生随机数的几种方法
    2017-3-29 Js语法 DOM操作
    纯【css下拉菜单】
    2017-3-25 css样式表 去除按钮点点击是的绿色边框
    2017-3-23 网页中的表单 框架 标题栏小图标 描点 插入视频音频 简单的滚动条 css样式表
    【2017-2-21】C#分支语句,分支嵌套,变量的作用域
    【2017-2-20】C#运算符
  • 原文地址:https://www.cnblogs.com/gcgc/p/12931147.html
Copyright © 2011-2022 走看看