Request
Posted suitcases
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Request相关的知识,希望对你有一定的参考价值。
需要引入的包
urllib、urllib2(urllib 和urllib2都是接受URL请求的相关模块,但是提供了不同的功能。)
time
random
hashlib(提供了常见的摘要算法,如MD5,SHA1等等)
hmac(使用hmac实现带key的哈希)
base64(Base64是一种用64个字符来表示任意二进制数据的方法。)
Template(为python string提供的一个字符串模板功能。主要用于文本处理)
hmac.new(key, msg=None, digestmod=None)
HMAC是一种消息摘要算法
参数key:加密的密钥
参数msg:用于加密的消息
参数digestmod:用于计算摘要的算法
sign = hmac.new(secretKey, srcStr, digestmod=hashlib.sha1).digest()
HMAC.digest():返回消息摘要值
base64模块是用来作base64编码解码的
b64encode和b64decode一组,用来编码和解码字符串,并且有一个替换符号字符的功能。这个功能是这样的:因为base64编码后的字符除 了英文字母和数字外还有三个字符 + / =, 其中=只是为了补全编码后的字符数为4的整数,而+和/在一些情况下需要被替换的,b64encode和b64decode正是提供了这样的功能。至于什 么情况下+和/需要被替换,最常见的就是对url进行base64编码的时候。
signStr = base64.b64encode(sign)
time.strftime()
time.localtime():格式化时间戳为本地的时间
time.time()返回当前时间的时间戳(1970纪元后经过的浮点秒数)。
urllib.unquote_plus()
urllib.urlencode(values) # 其中values为所需要编码的数据,并且只能为字典(将字典编码,用于提交数据给url
)
以上是关于Request的主要内容,如果未能解决你的问题,请参考以下文章
Motan在服务provider端用于处理request的线程池
[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段