1、Requests官网介绍
https://cn.python-requests.org/zh_CN/latest/
2、Requests库安装
安装命令
pip install requests
如果比较慢的情况下:指定一下镜像 (pip install 包名 -i 镜像地址)
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
Requests接口测试操作步骤
1. 导入对应的包: import requests
2. 弄清楚对应的接口四要素:接口URL、请求方法、请求参数、响应数据,
3. 把这些内容用代码依次实现。
3、Requests库常用方法及参数详解
3.1、常用方法
requests.request()
requests.get()
requests.post()
requests.put()
...
3.2、请求参数详解
requests.request(method, url, **kwargs)
- method:请求方式:GET, PUT,POST,HEAD, PATCH, delete, OPTIONS7种方式
- url:网络链接
- kwargs: (13个可选参数)
参数值 | 参数概述 |
params | 字典或者字节序列,作为参数增加到url中 |
json | JSON格式的数据,作为requests的内容 |
headers | 字典,HTTP定制头 |
data | 是第二个控制参数,向服务器提交数据,[POST请求用的居多] |
cookies | 字典或CookieJar, Requests中的cookie |
auth | 元组,支持HTTP认证功能 |
files | 字典类型,传输文件 |
timeout | 设置的超时时间,秒为单位 |
proxies | 字典类型,设定访问代理服务器,可以增加登录认证 |
allow_redirects | True/False,默认为True, 重定向开关 |
stream | True/False,默认为True,获取内容立即下载开关 |
verity | True/False,默认为True, 认证SSL证书 |
cert | 本地SSL证书路径 |
4、常用的响应( Response)数据
4.1、状态码
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息--表示请求已接收,继续处理 2xx:成功--表示请求已被成功接收、理解、接受 3xx:重定向--要完成请求必须进行更进一步的操作 4xx:客户端错误--请求有语法错误或请求无法实现 5xx:服务器端错误--服务器未能实现合法的请求
4.2、常见状态码
200 OK//客户端请求成功 400 Bad Request//客户端请求有语法错误,不能被服务器所理解 401 Unauthorized//请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden//服务器收到请求,但是拒绝提供服务 404 Not Found//请求资源不存在,eg:输入了错误的URL 500 Internal Server Error//服务器发生不可预期的错误 503 Server Unavailable//服务器当前不能处理客户端的请求,一段时间后可能恢复正常
4.3、代码演示
"""
常用的查看请求和响应的数据
"""
import requests
# 案例三:当URL有对应的参数,可以通过params 进行指定
url = "http://shop-xo.xxxxxx.com"
api_url = "s=api/index/index"
res = requests.get(url=url, params=api_url)
# 案例一: 查看对应的首页信息
# url = "http://shop-xo.xxxxxx.com/"
# res = requests.get(url=url)
# ----------------获取对应的响应数据--------------------
# 1. 获取对应的请求URL
print(res.url)
# 2. 获取对应响应数据并且以文本信息显示
print(res.text)
# 3. 获取对应响应数据并且以JSON格式显示,如果你的数据非Json格式则会报错
print(res.json()) # 用案例三可以看到效果
# 4. 获取对应响应数据并且以字节方式显示,会自动为你解码 gzip 和 deflate 压缩
print(res.content)
# 5. 获取响应的状态码
print(res.status_code)
# 6. 获取对应的响应头 ,数据显示是什么格式由:'Content-Type': 'text/html; 决定
print(res.headers)
# ----------------获取对应的请求数据--------------------
# res.request.方法
# 对应的请求方法
print(res.request.method)
5、GET请求代码演示
# 请求方法一
requests.request(method='GET', url, **kwargs)
# 请求方法二
requests.get(url, params=None, **kwargs)
# url: 页面的url链接
# params: url中的额外参数,字典或字节流,非必选
import requests
# 案例一: 查看对应的首页信息
url = "http://shop-xo.xxxxxx.com/"
res = requests.get(url=url)
# 获取对应的文本信息
print(res.text)
# 案例二:方法一,查看对应的首页数据,完整的URL
url = "http://shop-xo.xxxxxx.com?s=api/index/index"
res = requests.get(url=url)
# 获取对应的请求URL
print(res.url)
# 获取对应的文本信息
print(res.text)
# 案例三:当URL有对应的参数,可以通过params 进行指定
url = "http://shop-xo.xxxxxx.com"
api_url = "s=api/index/index"
res = requests.get(url=url, params=api_url)
print(res.url)
print(res.text)
标签:请求,url,res,接口,对应,自动化,print,Requests,requests
From: https://blog.csdn.net/weixin_46337259/article/details/142356402