Python-requests模块

    科技2022-07-10  101

    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)
    Processed: 0.015, SQL: 8