requests模块【接口自动化】

1. requests 和 urllib库的区别

模拟发起网络请求,主要用到的库有:requests库和python内置urllib库,一般建议使用requests库,他是对urllib的再次封装。

他们的主要区别是:requests可以直接构建常用的get和post请求并发起;urllib一般要先构建get或post请求,然后再发起请求。

2. 报错:ModuleNotFoundError: No module named 'requests'

原因:未安装requests模块,无法正常导入

安装requests模块:

-- 在python的同级目录下找到scripts文件夹,进入该文件夹,获取到目录地址

--cmd中进入该地址中,输入命令:pip install requests

3. requests的使用命令

import requests
 
#get请求不带参数
Response_get = requests.get(url
#get请求带参数
Response_get = requests.get(url,params={...})

#post

Response_post = requests.post(url, data=data)

#响应的内容

  r.encoding #获取当前的编码

  r.encoding = 'utf-8' #设置编码

  r.text #以encoding解析返回内容。字符串方式的响应体,会自动根据响应头部的字符编码进行解码。

  r.content #以字节形式(二进制)返回。字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩。

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

  r.status_code #响应状态码

  r.raw #返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read()

  r.ok # 查看r.ok的布尔值便可以知道是否登陆成功

  #*特殊方法*#

  r.json() #Requests中内置的JSON解码器,以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常

  r.raise_for_status() #失败请求(非200响应)抛出异常

原文地址:https://www.cnblogs.com/cudy/p/13518811.html