requests.session()的一丢丢参数

2021-09-09  本文已影响0人  Rainbow想喝奶茶

了解了一些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)

打印出来的信息为:

Authorization
可以看到,发送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)

运行结果为:


合并生效

自我记录,有错误欢迎指正~~

上一篇 下一篇

猜你喜欢

热点阅读