了解了一些session
相关的属性,来一波记录。
在requestes
中建立session
对象存储信息后,还可以通过一些参数的设置实现一些默认参数传递或更新的功能。
session.auth
如果一个系统,是通过传递用户名密码生成用户信息加密的value
存储于Authorization
中时,那么就可以通过session.auth
属性进行默认传递并生成对应value
。
这个地址http://httpbin.org是很多博主在讲解session
时应用的地址,可以用来测试。
import requests
s=requests.session()
s.auth=('username','password')
o=s.get('http://httpbin.org/headers')
print(o.text)
打印出来的信息为:
可以看到,发送
get
请求时不需要其他参数,Authorization
后面的认证信息已经成功生成。
session.headers.update
这个属性可以在提前设定的情况下,与方法中传入的headers
合并,共同服务于请求。
如果在请求时没有再次设定headers
,则以默认参数的形式传递。
import requests
s=requests.session()
s.auth=('username','pass')
s.headers.update({"hello":"one"})
o=s.get('http://httpbin.org/headers')
print(o.text)
运行结果为:
默认参数传递
如果在请求中,有标明其它headers
,则会合并,共同生效。
import requests
s=requests.session()
s.auth=('username','pass')
s.headers.update({"hello":"one"})
o=s.get('http://httpbin.org/headers',headers={"hi":"two"})
print(o.text)
运行结果为:
合并生效
自我记录,有错误欢迎指正~~
网友评论