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':'',
'pcName':'测试',
'pcPhoneNum':'',
'orgname':'M1对讲',
'watchImei':''
}
#以字典方式储存定制的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":"",
"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":"","pcName":"测试","pcPhoneNum":"","orgname":"M1对讲","watchImei":""}]}}#查询刚刚新增信息请求的响应内容

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

Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据的更多相关文章

  1. Python Requests库简单入门

    我对Python网络爬虫的学习主要是基于中国慕课网上嵩天老师的讲授,写博客的目的是为了更好触类旁通,并且作为学习笔记之后复习回顾. 1.引言 requests 库是一个简洁且简单的处理HTTP请求的第 ...

  2. 基于python+requests的简单接口测试

    在进行接口测试时,我们可以使用已有的工具(如:jmeter)进行,也可以使用python+requests进行.以下为简单的接口测试模板: 一.提取常用变量,统一配置 新建一个config.py文件, ...

  3. HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端

    协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...

  4. python requests接口测试系列:连接mysql,获取mysql查询的值作为接口的入参

    主要思路: 连接mysql数据库,这里数据库需要使用Proxifier来设置代理,然后才能正常连接 获取mysql数据库中某一数据,作为接口的参数信息 将接口返回结果保存至csv数据表中 # -*- ...

  5. HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头

    http://blog.csdn.net/qxs965266509/article/details/8082810 用于HTTP请求中的常用请求头字段 Accept:用于高速服务器,客户机支持的数据类 ...

  6. Python - requests发送请求报错:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 13-14: 小明 is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.

    背景 在做接口自动化的时候,Excel作为数据驱动,里面存了中文,通过第三方库读取中文当请求参数传入 requests.post() 里面,就会报错 UnicodeEncodeError: 'lati ...

  7. 【原创】python requests 库底层Sockets处于close_wait状态

    以前对于Requests库只是简单是使用,在现在公司的后台中,有多个接口是直接使用requests.get .post之类的方法来做的,进行过一段时间的压力测试,发现性能低的可怜,且linux服务器有 ...

  8. UISwitch开关控件属性介绍以及获取开关状态并做出响应

    (1)UISwitch的大小也是固定的,不随我们frame设置的大小改变:也是裁剪成圆角的,设置背景就露马脚发现背景是矩形. (2)UISwitch的背景图片设置无效,即我们只能设置颜色,不能用图片当 ...

  9. python——SMTP发送简单邮件

    [root@localhost python]# cat smtp.py import smtplib import string from email.mime.text import MIMETe ...

随机推荐

  1. 二进制学习——Blob,ArrayBuffer、File、FileReader和FormData的区别

    前言: Blob.ArrayBuffer.File.fileReader.formData这些名词总是经常看到,知道一点又好像不知道,像是同一个东西好像又不是,总是模模糊糊,最近终于下决心要弄清楚. ...

  2. 欧几里得?x

    可以去看dalao博客 orz 1.欧几里得算法 带余除法定理:a,b∈Z,其中b>0,存在唯一q及r,使a=bq+r,其中0<=r<b; 辗转相除法(欧几里得算法)依据:(a,b) ...

  3. CRT小键盘输入乱码

    Options --> Session Options --> Terminal --> Emulation --> Modes 去选中 Enable keypad mode ...

  4. CF1197C

    CF1197C 题意: 有一个递增的数列,把它分成k段,找到这样的分段方法,即每段最大值减最小值的和最小 解法: 分成k段,即要加k-1个隔断,这k-1个隔断,能隔开差值最大的几个,那最后得到分隔后的 ...

  5. C++的精髓——代码复用、接口复用

    C++的精髓——代码复用.接口复用 在另一篇文章中提到C++三大特点的核心概括,也写在这里吧.封装:信息隐藏继承:代码复用多态:面向对象C++并不是面向对象,它包容多种编程思想,如面向过程,面向对象, ...

  6. vue常用的修饰符

    v-model修饰符 <template> <div id="demo14"> <p>-----------------模板语法之修饰符---- ...

  7. vim 快捷键 清空文件所有内容

    vim清空文件所有内容 在使用vim编辑器的时候,有时候编辑一个文件,而文件内容比较多,如果需要快速清空整个文件,可以使用一下命令: 在命令模式下,首先执行 gg 这里是跳至文件首行 再执行: dG ...

  8. c语言 nmealib-0.5.3 学习 简单代码 ,供参考

    void showInfo1(char *buf) { ];// ="$GPGGA,031105.000,4003.9196,N,11620.5765,E,1,05,3.4,109.0,M, ...

  9. Qt编写数据可视化大屏界面电子看板8-调整间距

    一.前言 在数据可视化大屏界面电子看板系统中,前期为了使用目标客户机,调整间距是必不可少的工作,QMainWindow中的QDockWidget,会默认生成布局和QSplitter调整宽高大小,鼠标移 ...

  10. [ML] Roadmap: a long way to go

    看上去不错的博文: 机器学习的经典算法一览 (一) 机器学习的经典算法一览 (二)       1.引言 正文将详细介绍传统机器学习算法,基本思想和用途.把问题解决思路和方法应用建议提前到这里的想法也 ...