0 前言1 requests模块1.1 方法列表
2 hashlib模块3 json模块4 random模块5 示例 百度翻译API
0 前言
Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库。它⽐ urllib 更加⽅便,可以节约我们⼤量的⼯作,完全满⾜HTTP测试需求。
1 requests模块
安装方式
pip install requests
1.1 方法列表
requests模块说明
=requests.get(url, data)请求指定的页面信息,并返回主体r类url->http地址data->字典
r类说明
=r.status_codehttp请求的返回状态,若为200则表示请求成功=r.texthttp响应内容=r.contenthttp响应内容的二进制形式=r.encoding从http header 中猜测的相应内容编码方式=r.apparent_encoding从内容中分析出的响应内容编码方式
2 hashlib模块
hashlib是一个提供字符串加密功能的模块,包含MD5和SHA的算法,MD5和SHA是摘要算法,也可以称为哈希算法,离散算法。通过一个函数将任意长度的数据转化为一个长度固定的数据串,摘要函数是一个单向函数,计算f(data)很容易,但是通过digest反推data非常困难,对data做任意修改,计算出的摘要完全不相同
将字符串sign进行md5加密:
import hashlib
sign
= hashlib
.md5
(sign
.encode
('utf-8')).hexdigest
()
3 json模块
json是java script object notation的缩写,用来存储和交换文本信息,比xml更小/更快/更易解析,易于读写,占用带宽小,网络传输速度快的特性,适用于数据量大,不要求保留原有类型的情况
将http响应返回的response解码为python数据:
import json
response
= json
.loads
(response
.text
)
4 random模块
random库用来产生伪随机数
random模块说明
=random.randint(a, b)返回随机整数a<=N<=b=random.random()返回0.0-1.0间随机数
5 示例 百度翻译API
import requests
import hashlib
import json
import random
url
= 'http://api.fanyi.baidu.com/api/trans/vip/translate'
q
= 'banana'
fromLang
= 'auto'
toLang
= 'zh'
appid
= '20201002000xxxxxx'
salt
= random
.randint
(1,10000)
cipher
= 'CxQhyh7rW04s1ocxxxx'
sign
= appid
+ q
+ salt
+ cipher
sign
= hashlib
.md5
(sign
.encode
('utf-8')).hexdigest
()
data
= {
'q': q
,
'from': fromLang
,
'to': toLang
,
'appid': appid
,
'salt': salt
,
'sign': sign
}
try:
r
= requests
.get
(url
, data
)
r
= json
.loads
(r
.text
)
r
= r
['trans_result'][0]['dst']
print(r
)
except Exception
as e
:
print(e
)