Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据

Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据

1、环境:安装了Python和vscode编译器(Python自带的编译器也ok)、fiddler抓包工具(先用fiddler抓包工具获取请求url和headers请求头相关数据)

2、模拟向XX平台,发送新增成员编号信息,并查询新增的成员编号信息(自己找个平台测试)

 

3、代码:

import requests
import json
'''发送新增警员信息的http请求'''
#以字典的方式存储需要传递的参数
add_url = 'http://XX.XXX.XXX.XX:端口号/car-oss/webapi/pcWatch/save'
add_par = {
    'pcNum':'95830',
    'pcName':'测试',
    'pcPhoneNum':'22345',
    'orgname':'M1对讲',
    'watchImei':'11220'
}
#以字典方式储存定制的headers请求头信息
add_header = {
    'Content-Type':'application/json',
    'connection':'keep-alive'
}
#用户登录前的cookies,因为用户登录后才能进行新增警员信息的操作
add_cookie = {
    "JSESSIONID":"3E2ED9359E53D31FBD13FE2ADE9D20D2"
}
r = requests.post(add_url,data=json.dumps(add_par),headers=add_header,cookies=add_cookie)#参数要转json格式传输要使用json.dumps()进行转换
#以文本方式获取请求响应内容
print(r.text)
'''
查询上刚刚新增的那条信息
'''
Search_url='http://XX.XXX.XXX.XX:端口号/car-oss/webapi/easyflow/datatable/queryresult'
Search_par={
    "pageSize":10,
    "pageIndex":1,
    "orgname":"M1对讲",
    "pcNum":"95830",
    "watchImei":"",
    "name":"pc_watch_manage"
}
Search_header={
    'Content-Type':'application/json'
}
Search_cookie={
    'JSESSIONID':'3E2ED9359E53D31FBD13FE2ADE9D20D2'
}
r1 = requests.post(Search_url,data=json.dumps(Search_par),headers=Search_header,cookies=Search_cookie)
print(r1.text)

运行结果:

success#新增成员信息请求响应内容
{"result":true,"msg":"success","data":{"pageIndx":1,"totalSize":1,"pageSize":10,"totalPage":1,"list":[{"id":"2c9220956c99b744016d00a758356582","pcNum":"95830","pcName":"测试","pcPhoneNum":"22345","orgname":"M1对讲","watchImei":"11220"}]}}#查询刚刚新增信息请求的响应内容

4、requests常用属性和方法

(1)发送请求后,返回各种形式的响应内容:

  1)r.text:以文本格式返回响应内容

  2)r.content:以字节格式返回响应内容

  3)r.json():以json格式返回相应内容,因为就算请求出错也会返回一串json格式的字符串。所以可以使用r.status_code或者r.raise_for_status来判断响应是否成功

  4)如果在原始请求中设置了stream=True,可以使用r.raw.read()

posted @ 2019-09-05 17:19  婷小生  阅读(14728)  评论(0编辑  收藏  举报