一、简介

  python做接口测试,我们需要了解和学习第三方库requests。python内置的urllib模块,也用于访问网络资源,但是使用较麻烦,而且缺少很多实用的高级功能。这里推荐使用requests

中文帮助文档:http://cn.python-requests.org/zh_CN/latest/index.html

英文帮助文档:https://2.python-requests.org//en/master/

二、如何安装requests

  cmd输入命令:pip install requests

  参考链接:https://www.cnblogs.com/king8/p/9216133.html

三、使用requests

  • get请求无参数param

  1.导入requests模块,通过get访问一个url地址的网页,比如访问博客园个人博客:https://www.cnblogs.com/huainanhai/

  2.r就是response,请求后的返回值,可以调用response里的status_code方法查看状态码

  3.状态码200只能说明这个接口访问的服务器地址是对的,并不能说明功能OK,一般要查看响应的内容,r.text是返回文本信息

# 导入requests模块
import requests
# 请求博客园个人博客
r = requests.get("https://www.cnblogs.com/huainanhai/")
# 打印状态码
print(r.status_code)
# 打印文本
print(r.text)
  • get请求有参数param

  1.导入requests模块,通过带参数的get访问一个url地址的网页,比如在个人博客搜索:接口,url地址为:

  2.请求参数:q=西游记,可以以字典的形式传参:{"q":"西游记"}

  3.多个参数格式:{"key1":"value1","key2":"value2","key3":"value3"}

# 导入requests模块
import requests
# 博客园官网搜索参数
param = {"t":"b","w":"方缘"}
# 请求博客园搜索方缘
r = requests.get("https://zzk.cnblogs.com/s",params=param)
# 打印状态码
print(r.status_code)
# 打印url
print(r.url)
# 打印文本
print(r.text)

  PS:1.豆瓣网址后面不要漏了/search;2.params不要写成param

四、附录response返回的消息

  1.r.status_code  # 响应状态码

  2.r.url   # 获取url

  3.r.content  # 字节方式的响应体,会自动为你解码gzip和的deflate压缩

  4.r.headers  # 以字典对象存储服务器响应头,这个字典不区分大小写,若键不存在则返回None

  5.r.encoding # 编码格式,requests自动检测编码

  6.r.cookies # 获取cookie

最新文章

  1. 使用Google Closure Compiler高级压缩Javascript代码注意的几个地方
  2. 【单页应用巨坑之History】细数History带给单页应用的噩梦
  3. JS-页面操作
  4. matlab数据转换为字符串并合并字符串标注到图像曲线上
  5. hdu 4302 优先队列
  6. 【转】使用itms-services从浏览器发布iOS App遇到的问题总结
  7. 64. Minimum Path Sum
  8. 在EF的code frist下写稳健的权限管理系统:MVC过滤拦截,权限核心(五)
  9. Tilera 服务器上OpenJDK的安装尝试
  10. Linux下使用mail命令发送邮件
  11. snoopy(强大的PHP采集类) 详细介绍
  12. SVN和Git的一些用法总结(转)
  13. 基于底层的 XML 的解析方式详解
  14. Java对【JSON数据的解析】--官方解析法
  15. Django 1.10中文文档-执行查询
  16. 洛谷 P1028 数的计算【递推】
  17. shell之for和if实现批量替换多目录下的文件
  18. 第 9 章 数据管理 - 074 - 如何安装和配置 Rex-Ray?
  19. 用Vue实现状态列表的操作涵盖所有的知识点
  20. Android Studio 解决ADB检测不到手机导致无法连接的问题

热门文章

  1. CEF编译 执行gn args out\Release_GN_x86异常
  2. WPF之行为
  3. vue中监听路由参数的变化
  4. js-函数的三种创建方式
  5. Dynamics 365 Customer Enagement中的更改跟踪(change tracking)
  6. Java学习笔记--线程day01
  7. APP爬虫(1)想学新语言,又没有动力,怎么办?
  8. MySQL数据库:合并结果集
  9. java基础 - 什么是hashmap的负载因子,hashmap的容量(即桶个数)为什么是2的幂次
  10. Redis入门(三)-Redis的安装及操作key的命令介绍