python接口自动化发送get请求 详解(一)
前言:接口自动化实现自动化脚本比较稳定,主要用到requests模块,后面我会把这个模块单独拉出来写一下。
一、环境安装
1.用pip安装requests模块
>>pip install requests
注意:pip很容易就会版本升级,
方法1:检测并更新
pip list –outdated
方法2:
♦先卸载:
pip uninstall packagename
♦在用:easy_install.exe安装
easy_install.exe pip
二、get请求
♦1.导入requests后,用get方法就能直接访问url地址,如:http://open.juhe.cn/#page1,看起来是不是很酷
♦2.这里的r也就是response,请求后的返回值,可以调用response里的status_code方法查看状态码
♦3.状态码200只能说明这个接口访问的服务器地址是对的,并不能说明功能OK,一般要查看响应的内容,response .text是返回文本信息
输入代码:
import requests#导入request模块 url = 'http://open.juhe.cn/#page1' response = requests.get(url)#用导入的request模块的get方法访问URL print(response.status_code)#调用response里的status_code方法查看状态码 print(response.text)#调用response里的text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
输出结果:
三、发送带有params(参数)的get请求
♦1.再发一个带参数的get请求,如在百度中搜:聚合数据网,url地址为:https://read.douban.com/search?q=斗破苍穹
♦2.请求参数:q=斗破苍穹,可以以字典的形式传参:{"q": "斗破苍穹"}
♦3.多个参数格式:{"key1": "value1", "key2": "value2", "key3": "value3"}
♦4.发送请求格式是:URL+参数:实例:requests.get(url=url,params=params1)
代码输入:
import requests#导入request模块 url = r'https://read.douban.com/search' params1 = {"q":"斗破苍穹"} response = requests.get(url=url,params=params1)#用导入的request模块的get方法访问URL,并在后面加上参数 print(response.status_code)#调用response里的status_code方法查看状态码 print(response.text)#调用response里的text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
输出结果:
四、content
♦1.百度首页如果用r.text会发现获取到的内容有乱码,因为百度首页响应内容是gzip压缩的(非text文本)
♦2.如果是在fiddler工具乱码,是可以点击后解码的,在代码里面可以用r.content这个方法,content会自动解码 gzip 和deflate压缩
五、response
♦1.response的返回内容还有其它更多信息
-- r.status_code #响应状态码
-- r.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
-- r.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
-- r.json() #Requests中内置的JSON解码器
-- r.url # 获取url
-- r.encoding # 编码格式
-- r.cookies # 获取cookie
-- r.raw #返回原始响应体
-- r.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
-- r.raise_for_status() #失败请求(非200响应)抛出异常
代码如下:
import requests#导入request模块 url = r'https://read.douban.com/search' params1 = {"q":"斗破苍穹"} response = requests.get(url=url,params=params1)#用导入的request模块的get方法访问URL,并在后面加上参数 print(response.status_code)#调用response里的status_code方法查看状态码 print(response.headers) #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None print(response.content)#字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩 #print(response.json()) #Requests中内置的JSON解码器 print(response.url) # 获取url print(response.cookies) # 获取cookie print(response.encoding) # 编码格式 print(response.raw) #返回原始响应体 print(response.text)#调用response里的text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码 #print(response.raise_for_status()) #失败请求(非200响应)抛出异常
输出结果如下:
哪有不对欢迎指出哦。
转载于:https://www.cnblogs.com/insane-Mr-Li/p/9101268.html
python接口自动化发送get请求 详解(一)相关推荐
- Python接口自动化之requests请求封装
------·今天距2021年253天·------ 这是ITester软件测试小栈第114次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化之Token详解及应用,介绍tok ...
- 接口自动化-发送get请求-1
接口自动化,离不开requests模块,所以在时使用之前需要先行安装,在cmd下使用命令pip install requests即可. 下面通过一个实例引入get方法的使用. #coding:utf- ...
- java发送http跨域_跨域发送HTTP请求详解
packagecom.xy.aider;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream ...
- Python接口自动化测试 ---Allure报告使用详解
这一节主要是记录allure的内容以及用法,怎么让他生成一个完整的想要的报告. allure生成的报告和其他五花八门的报告对比了一下,它的可读性是最好.最直观的.这不仅仅是我想要的效果,也是很多小伙伴 ...
- Python接口自动化之接口依赖
VOL 129 28 2020-05 今天距2021年216天 这是ITester软件测试小栈第129次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
- Python接口自动化之logging日志
VOL 122 11 2020-05 今天距2021年234天 这是ITester软件测试小栈第122次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
- Python接口自动化之动态数据处理
VOL 135 15 2020-06 今天距2021年199天 这是ITester软件测试小栈第135次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
- Python接口自动化之logging封装及实战
VOL 124 15 2020-05 今天距2021年230天 这是ITester软件测试小栈第124次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
- Python接口自动化之pymysql数据库操作
VOL 120 06 2020-05 今天距2021年239天 这是ITester软件测试小栈第120次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
最新文章
- linux用户空间 限制吗,在Linux中限制用户空间
- 2021第12届蓝桥杯省赛Python题目
- php protected 属性,PHP 如何获取protected属性?
- python批量下载网页文件-Python实现批量下载文件
- USB有时adb shell连不上设备
- mysql程序设计教程_MySQL教程_编程入门教程_牛客网
- FarMap诞生了!
- VMware 11安装Mac OS X 10.10
- hdu 5215 Cycle
- Tomcat启动时日志报 dcom.sun.manager.jmxremote 异常导致无法正常启动使用
- Druid 在小米公司部分技术实践
- 教你几招Mac的省电小技巧
- 智慧校园云端管理系统的设计和实现(附源码及数据库)
- 一文教你如何在Linux系统上搭建samba文件共享服务器
- ngx_http_core_module模块提供的变量
- 智慧养鸡场环境监管系统方案
- vue中数据劫持代理
- alter table *** add constraint *** 用法
- R or Python,到底学哪个?这篇文章来告诉你......
- 前尘往事入梦来 - IT十年回首