python接口自动化之发送get(三)
1、安装requests
requests是python的第三方库,需要进行安装。安装之前最好先关闭fiddler
cmd(win+R快捷键)输入:pip install requests
其他命令:
卸载:pip uninstall requests
查看全部:pip list
查看包:pip show requests
2、参照接口文档发送get请求
GET请求有两种情况,第一种是纯url地址没有问号,也没有问号后面的参数;第二种是带问号和参数的
get请求方法一(参数放在url后面,不推荐此方法):
# -*- coding:utf-8 -*- import requests url = 'http://japi.juhe.cn/qqevaluate/qq?key=申请的key&qq=QQ号' r = requests.get(url)
print(r.text)
get请求方法二:将问号后面的参数单独拿出来
# -*- coding:utf-8 -*- import requests url = 'http://japi.juhe.cn/qqevaluate/qq'
# 如果参数直接传的是中文的话,http传的时候是urlencode编码,requests会将中文参数转换为urlencode编码
par = {
'key': '申请的key',
'qq': 'qq号'
}
r = requests.get(url, params=par)
print(r.text)
print(r.json())
注意:r.text与r.json()的区别
r.text返回的是文本,字符串
r.json(),josn解析返回的是字典,dict
如果get请求返回的是HTML页面,则只能使用r.text,不能使用r.json()
3、response返回的其他内容
- r.status_code # 响应状态码
- r.content # 以字节方式的响应体,会自动为你解码gzip和deflate压缩
- r.text # 字符串方式的响应体,会自动根据响应头部的字符编码进行解码
- r.headers # 以字典对象存储服务器响应头,字典键不区分大小写,若键不存在则返回None
- r.json() # Requests中内置的json解码器,json转换成python的字典了
- r.url # 获取请求的url
- r.cookies # 获取返回的cookie
r.cookies单独获取到cookies,可以将cookies转字段再通过key方式去取值:value=dict(r.cookies)[key]
如果使用r.text获取的结果出现乱码的情况,则使用decode进行解码,如下:
r.content.decode('utf-8') --->代替r.text解决乱码问题
python接口自动化之发送get(三)的更多相关文章
- python接口自动化之发送post(四)
1.ssl问题 目前很多的请求使用的都是较为安全的https请求,https请求相对于http安全级别更高,需要验证ssl证书 写代码的时候有两种可以忽略ssl验证的方法 (1)import urll ...
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...
- python接口自动化-Cookie_绕过验证码登录
前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...
- python接口自动化3-自动发帖(session)
前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? (敲黑板!!!由于博客园最近登录机制变了,登录全部走cookie登录) 一.sessi ...
- python接口自动化(Cookie_绕过验证码登录)
python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...
- python接口自动化-参数化
原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...
- python接口自动化 -参数关联(一)
原文地址https://www.cnblogs.com/yoyoketang/p/6886610.html 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址ht ...
- python接口自动化20-requests获取响应时间(elapsed)与超时(timeout)
前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的. 如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 关于reques ...
- python接口自动化6-重定向(Location)
前言 某屌丝男A鼓起勇气向女神B打电话表白,女神B是个心机婊觉得屌丝男A是好人,不想直接拒绝于是设置呼叫转移给闺蜜C了,最终屌丝男A和女神闺蜜C表白成功了,这种场景其实就是重定向了. 一.重定向 1. ...
随机推荐
- 如何将下载的Jar包导入本地Maven仓库-sunziren
原创文章,转载请注明出处博客园! 昨天在打开一个Spring Boot项目的时候,发现pom.xml的文件图标上有个小红点,遂打开查看到底报的什么错. 原来是ojdbc14-10.2.0.4.0.ja ...
- ArcMap 新建空白图层,并添加元素
想要添加新的图层,不能从File 里找,那里都是添加数据,貌似ArcGIS的定位是对数据的处理. 比如导入其他格式文件,或者导入对应的数据文件.excel csv cad 等,在此基础上进行分析,而不 ...
- JSP+Servlet+Ajax实现用户增删改查的例子
一.数据库设计 用户表User 已有的测试数据 二.Java代码编写 Java EE的架构一般分为以下五层: ①.Domain ②.DAO ③.Service ④.Controller ⑤.View ...
- 使用Scanner类
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { ...
- maven依赖包无法更新下载
在IDEA工程中导入已存在的module时,按默认设置,直到完成导入,结果所有的外部依赖包都无法更新下载,即使是更新了setting.xml配置文件信息,依旧是不能更新下载依赖包,现将具体的操作过程和 ...
- geoserver发布地图服务
1. Geoserver启动 blog.csdn.net 2014-09-18 20:30 Geoserver是著名的开源GIS软件之一.也是项目中常用的地图服务软件.基于geoserver ...
- Oracle 12c 如何在 PDB 中添加 SCOTT 模式(数据泵方式)
Oracle 12c 建库后,没有 scott 模式,本篇使用数据泵方式,在12c版本之前数据库中 expdp 导出 scott 模式,并连接 12c 的 pdb 进行 impdp 导入. 目录 1. ...
- 138.更改session的存储机制
修改session的存储机制: 默认情况下,session数据时存储到数据库中,当然也可以将session数据存储到其他地方.可以通过设置SESSION_ENGINE来更改session的存储位置,这 ...
- prach 839滤波系数
- Android Q 使用通知栏消息
String myChannelId = "iot"; String myChannelName = "告警通知服务"; NotificationManager ...