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())

 

posted @ 2020-11-03 13:28  奔奔-武  阅读(6457)  评论(0编辑  收藏  举报