说明:Requests库:是一个简单易用的http请求库。也是接口自动化框架中比较常见的一个库。(当然也有人是urllib,看个人喜好吧)
1、安装requests库(要使用requests库必须先安装)
建议使用pip安装,如下(我这是已经安装好的)pip install requests:
2、使用requests库进行发送get请求
get请求(无参数):
#coding:utf-8
#第一步:导入requests模块
import requests
#第二步:发送无请求参数的get请求
res = requests.get("https://www.cnblogs.com/fuxinxin/p/8991703.html")
#第三步:将返回的数据打印出来
print(res.text)
返回结果:
get请求(有参数):
#coding:utf-8
#第一步:导入requests模块
import requests
#第二步:以字典的形式传参
data = {
"key":"ee9757f1b3fe186ec4deddcf7450266b" ,
"qq":"1301791233"
}
#第三步:发送带参数的请求()
res = requests.get(url="http://japi.juhe.cn/qqevaluate/qq",params=data)
#第四步:将返回的数据打印出来
print(res.json())
返回结果:
其实还可以获取到返回内容的其他信息,比如:
- res.status_code #响应状态码
- res.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
- res.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
- res.json() #Requests中内置的JSON解码器
- res.url # 获取url
- res.encoding # 编码格式
- res.cookies # 获取cookie
- res.raw #返回原始响应体
- res.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
- res.raise_for_status() #失败请求(非200响应)抛出异常
示例如下:
#coding:utf-8
#第一步:导入requests模块
import requests
#第二步:以字典的形式传参
data = {
"key":"ee9757f1b3fe186ec4deddcf7450266b" ,
"qq":"1301791233"
}
#第三步:发送带参数的请求()
res = requests.get(url="http://japi.juhe.cn/qqevaluate/qq",params=data)
"""
第四步:打印返回内容的其他信息
res.status_code #响应状态码
res.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
res.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
res.json() #Requests中内置的JSON解码器
res.url # 获取url
res.encoding # 编码格式
res.cookies # 获取cookie
res.raw #返回原始响应体
res.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
res.raise_for_status() #失败请求(非200响应)抛出异常
"""
print("响应状态码:",res.status_code)
print("请求头:",res.headers )
print("以json的格式打印返回内容:",res.json())
print("打印url:",res.url)
print("编码格式:",res.encoding)
#其他方法自行尝试
有个小细节需要注意下,如果返回的内容不是json格式的,你使用res.json就会报错!