Python接口测试request
2021-02-11 15:19
标签:存在 fir idt res 因此 ict 字符编码 nal 异常 格式:get(url, params=None, **kwargs) 格式:post(url,data,json,…)
请求超时 Requests.get中的timeout参数 Verify属性设置为False,安全证书免验证。 req= requests.get(url, verify=False) 内容做序列化 indent=True 声明cookie容器对象: 向容器中传递生成cookies: 第一步 第二步 第三步 第四步 1.从响应中提取token值。 2.token值的使用方式。
安装 pip3 install requests-html 导入 from requests_html import HTMLSession Requests-html 使用 from requests_html import HTMLSession req = HTMLSession() params = {‘query‘:‘testing‘} w=r.get("http://www.sogou.com/web",params=params) 1、基本身份认证 HTTP Basic Auth是HTTP1.0提出的认证方式 客户端对于每一个realm,通过提供用户名和密码来进行认证的方式 当认证失败时,服务器收到客户端请求,返回401 UNAUTHORIZED,同时在HTTP响应头的WWW-Authenticate域说明认证方式及认证域身份认证的类型 2、netrc 认证 如果认证方法没有收到 auth 参数,Requests 将试图从用户的 netrc 文件中获取 URL 的 hostname 需要的认证身份 3、摘要式身份认证 digest authentication:在HTTP 1.1提出,目的是替代http 1.0提出的基本认证方式 1、requests库的session对象能够帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies。 2、requests库的session对象还能为我们提供请求方法的缺省数据,通过设置session对象的属性来实现。 Python接口测试request 标签:存在 fir idt res 因此 ict 字符编码 nal 异常 原文地址:https://www.cnblogs.com/070727sun/p/12735300.htmlrequests安装
一、Get的使用
Get常见查询参数
import requests
url = ‘https://www.baidu.com/s‘
params = {
‘Wd‘:‘%E6%B5%8B%E8%AF%95‘,
‘prefixsug‘:‘ceshi‘,
}
header = {
‘User-Agent‘:‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36‘,
}
cookie = {
}
data = requests.get(url=url,headers=header,params=params,cookies=cookie)
print(data.content.decode(‘utf8‘))
断言:
assert data.json()[‘status‘]==False
Post请求参数
Post常见查询参数
import requests,json
url = ‘https://www.lagou.com/jobs/positionAjax.json‘
params = {
‘needAddtionalResult‘:‘false‘
}
header = {
‘User-Agent‘:‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36‘,
‘Content-Type‘:‘application/x-www-form-urlencoded; charset=UTF-8‘
}
body = {
‘first‘:‘true‘,
‘pn‘:‘1‘,
‘kd‘:‘软件测试工程师‘,
}
# requests 操作 # timeout超时时间2秒 verify 安全证书True要有安全证书,根据浏览器要求 indent 内容做序列化
value = requests.post(url=url,headers=header,params=params,data = body,timeout=2.00,verify=True,indent=True)
print(value.json())
data = value.json()
filename = ‘filename‘
x = json.dump(data,open(filename,‘w‘),ensure_ascii=False,indent=True)
y = json.load(open(filename,‘r‘))
print(y)
二、JSON模块
1、json.dumps()
2、json.loads()
3、json.dump()
4、json.load()
JSON数据处理
三、请求超时、安全证书和内容序列化
# requests 操作 # timeout超时时间2秒 verify 安全证书True要有安全证书,根据浏览器要求 indent 内容做序列化
value = requests.get(url=url,headers=header,params=params,data = body,timeout=2.00,verify=True,indent=True)
四、COOKIE的处理
五、Token的处理
import requests
key = requests.Session()
file = key.get(‘http://www.baidu.com‘)
print(file.cookies)
Requests-html
六、认证及SESSION的处理
身份认证的定义
身份认证的类型
import requests
from requests.auth import HTTPBasicAuth
url = ‘192.613.001.002‘
# 通过auth输入用户名和用户密码,来通过系统的验证
r = requests.get(url=url,auth=HTTPBasicAuth(‘user‘,‘password‘))
print(r.content)
SESSION的处理
import requests
key = requests.Session()
file = key.get(‘http://www.baidu.com‘)
print(file.cookies)