1、hashlib
import hashlib
hash_new = hashlib.sha1() //调用hashlib里的sha1()生成一个sha1 hash对象
hash_new.update(params_data) //通过update方法对字符串进行sha1加密的更新处理
hash_value = hash_new.hexdigest() //十六进制的结果
return hash_value //返回结果
2、urlparse
urlparse :
url = ’http://netloc/path;param?query=arg#frag’
parsed = urlparse(url)
print parsed
结果:ParseResult(scheme=’http’, netloc=’netloc’, path=’/path’,params=’param’, query=’query=arg’, fragment=’frag’)
urlsplit()
parsed = urlsplit(url)
print parsed
结果:SplitResult(scheme=’http’, netloc=’user:[email protected]:80’,path=’/p1;param/p2;param’, query=’query=arg’, fragment=’frag’)注意,urlsplit比urlparse的数组少了一项!
3、httplib
原型:
HTTPConnection(host[, port[, strict[, timeout]]])
host: 请求的服务器host,不能带http://开头
port: 服务器web服务端口
strict: 是否严格检查请求的状态行,就是http1.0/1.1 协议版本的那一行,即请求的第一行,默认为False,为True时检查错误会抛异常
timeout: 单次请求的超时时间,没有时默认使用httplib模块内的全局的超时时间
[python] view plain copy
- 实例:
- conn1 = HTTPConnection(‘www.baidu.com:80‘)
- conn2 = HTTPconnection(‘www.baidu.com‘,80)
- conn3 = HTTPConnection(‘www.baidu.com‘,80,True,10)
- 错误实例:
- conn3 = HTTPConnection(‘www.baidu.com:80‘,True,10)
返回:
HTTPConnection类会实例并返回一个HTTPConnection对象
>>> httplib.HTTPConnection(‘www.baidu.com‘)
<httplib.HTTPConnection instance at 0x7f84cd1bc830>
原型:
HTTPSConnection(host[, port[, key_file[, cert_file[, strict[, timeout]]]]])
key_file:一个包含PEM格式的私钥文件
cert_file:一个包含PEM格式的认证文件
other:其它同http参数
实例:
[python] view plain copy
- conn3 = HTTPSConnection(‘accounts.google.com‘,443,key_file,cert_file,True,10)
返回:
同样返回一个HTTPSConnection对象
注意:
要创建https链接,必须要保证底层的socket模块是支持ssl的编译模式,即编译时ssl选项的开关是开着的