zoukankan      html  css  js  c++  java
  • python处理http接口请求

    一、安装 requests和jsonpath 模块

    安装命令:pip install requests

                   pip install jsonpath

    二、requests 处理常见的接口请求参数类型

    1、表单类型的参数:
    1)请求参数类型:content-type: application/x-www-form-urlencoded*
    2)requests 发送请求,传递表单参数,应该使用 data 去传递

    import requests
    from jsonpath import jsonpath
    
    
    url = 'https://***.******.com/v3.3/uaa/login'
    
    params = {
        "username": "131********",
        "password": "************"
    }
    
    headers = {
        "x-app-id": "******"
    }
    
    res = requests.request('post', url, data=params, headers=headers).json()
    # 使用jsonpath获取登录接口返回的token值,后边请求接口的headers中需要用到
    token = jsonpath(res, '$..token')[0]

    2、JSON 类型的参数:
    1)请求类型为 Content-Type:Application/json
    2)requests 发送请求,传递 JSON 参数,就应该使用 JSON 去传递

    import requests
    from jsonpath import jsonpath
    
    
    url = 'https://***.******/getExamList'
    
    params = {
        "pageNum": 1,
        "pageSize": 20
    }
    
    headers = {
        "x-app-id": "******",
        # 依赖登录接口返回的token值
        "x-auth-token": token
    }
    
    res = requests.request('post', url, json=params, headers=headers)
    print(res.json())

    3、查询字符串参数:
    1)常用于 get 请求(其他的请求方法用的少)
    2)参数会直接拼接在 url 地址后面
    3)requests 发送请求,传递查询字符串参数,要使用 params

    url = 'https://***.******/findAll'
    
    params = {
        "pageNum": 1,
        "pageSize": 9999
    }
    
    headers = {
        "x-app-id": "******",
        # 依赖登录接口返回的token值
        "x-auth-token": token
    }
    
    res = requests.request('get', url, params=params, headers=headers)
    print(res.json())

    4、文件上传

    1)请求参数类型:content-type:application/form-data(postman 请求参数也选择这个)
    2)文件参数要使用 files 进行传递
    3)文件参数的组装:两种形式****
    {"参数名":("文件名",open 以 rb 模式打开文件,"文件类型")}
    {("参数名",("文件名",open 以 rb 模式打开文件,"文件类型"))}

    import requests
    url = 'http://127.0.0.1:5000/upload'
    # 请求参数
    params = {
        "nickname":'奔奔',
    }
    file = {
        'pic':('test.gif',open('test.gif','rb'),'image/gif')
    }
    response = requests.post(url=url, data=params, files = file)
    print(response.json())
  • 相关阅读:
    CSS高级应用参考手册
    通过ClassLoader说明容器热部署实现机制
    自定义类加载器
    zz Ubuntu常用命令大全
    设计模式之Decorator(油漆工)
    zz JNI学习(一)、JNI简介和HelloWorld示例
    类加载器的基本概念
    使用 StAX 解析 XML,第 1 部分: Streaming API for XML (StAX) 简介
    ubuntu apache mod_expires模块
    清空ubuntu 日志
  • 原文地址:https://www.cnblogs.com/benben-wu/p/13919760.html
Copyright © 2011-2022 走看看