前言:接口自动化实现自动化脚本比较稳定,主要用到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请求 详解(一)相关推荐

  1. Python接口自动化之requests请求封装

    ------·今天距2021年253天·------ 这是ITester软件测试小栈第114次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化之Token详解及应用,介绍tok ...

  2. 接口自动化-发送get请求-1

    接口自动化,离不开requests模块,所以在时使用之前需要先行安装,在cmd下使用命令pip install requests即可. 下面通过一个实例引入get方法的使用. #coding:utf- ...

  3. java发送http跨域_跨域发送HTTP请求详解

    packagecom.xy.aider;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream ...

  4. Python接口自动化测试 ---Allure报告使用详解

    这一节主要是记录allure的内容以及用法,怎么让他生成一个完整的想要的报告. allure生成的报告和其他五花八门的报告对比了一下,它的可读性是最好.最直观的.这不仅仅是我想要的效果,也是很多小伙伴 ...

  5. Python接口自动化之接口依赖

    VOL 129 28 2020-05 今天距2021年216天 这是ITester软件测试小栈第129次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  6. Python接口自动化之logging日志

    VOL 122 11 2020-05 今天距2021年234天 这是ITester软件测试小栈第122次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  7. Python接口自动化之动态数据处理

    VOL 135 15 2020-06 今天距2021年199天 这是ITester软件测试小栈第135次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  8. Python接口自动化之logging封装及实战

    VOL 124 15 2020-05 今天距2021年230天 这是ITester软件测试小栈第124次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  9. Python接口自动化之pymysql数据库操作

    VOL 120 06 2020-05 今天距2021年239天 这是ITester软件测试小栈第120次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

最新文章

  1. linux用户空间 限制吗,在Linux中限制用户空间
  2. 2021第12届蓝桥杯省赛Python题目
  3. php protected 属性,PHP 如何获取protected属性?
  4. python批量下载网页文件-Python实现批量下载文件
  5. USB有时adb shell连不上设备
  6. mysql程序设计教程_MySQL教程_编程入门教程_牛客网
  7. FarMap诞生了!
  8. VMware 11安装Mac OS X 10.10
  9. hdu 5215 Cycle
  10. Tomcat启动时日志报 dcom.sun.manager.jmxremote 异常导致无法正常启动使用
  11. Druid 在小米公司部分技术实践
  12. 教你几招Mac的省电小技巧
  13. 智慧校园云端管理系统的设计和实现(附源码及数据库)
  14. 一文教你如何在Linux系统上搭建samba文件共享服务器
  15. ngx_http_core_module模块提供的变量
  16. 智慧养鸡场环境监管系统方案
  17. vue中数据劫持代理
  18. alter table *** add constraint *** 用法
  19. R or Python,到底学哪个?这篇文章来告诉你......
  20. 前尘往事入梦来 - IT十年回首

热门文章

  1. C#如何让Listbox支持多选
  2. linux添加开机自启动脚本示例详解
  3. Ubuntu 修复windows启动项
  4. bboss 会话管理session操作使用示例
  5. 微软披露25个漏洞 BadAlloc,至少影响数十亿智能设备
  6. 开源框架 Apache Struts 2漏洞的 PoC 已公开
  7. 卡巴斯基称新型黑客雇佣组织正在攻击欧洲律所
  8. 开源大数据周刊-第21期
  9. 从数据库查询出来的数据集合转换成 json 类型
  10. Android自定义View初步