gpt4 book ai didi

python - 将 python 请求 session 存储在持久存储中

转载 作者:太空狗 更新时间:2023-10-29 23:58:46 25 4
gpt4 key购买 nike

我正在使用 python 请求库。我的应用程序从站点执行简单的获取请求并打印结果。

该站点需要 ntlm 授权。幸运的是,我可以依赖 HttpNtlmAuth,它运行良好。

session = requests.Session()
session.auth = HttpNtlmAuth(domain + "\\" + username,
password,
session)

但是如果应用程序被执行多次——每次我都需要询问用户名和密码。这很不舒服。存储凭据是不可取的。

我可以存储 session 对象本身并多次重复使用它吗?从服务器的角度来看 - 应该没问题。

有没有办法 pickle 和 unpickle session ?

最佳答案

如果您使用 dill 包,您应该能够 pickle pickle 本身失败的 session 。

>>> import dill as pickle
>>> pickled = pickle.dumps(session)
>>> restored = pickle.loads(pickled)

在这里获取 dill:https://github.com/uqfoundation/dill

实际上,dill 还可以轻松地在重新启动时存储您的 python session ,因此您可以像这样pickle你的整个python session :

>>> pickle.dump_session('session.pkl')

然后重新启动 python,从上次中断的地方继续。

Python 2.7.8 (default, Jul 13 2014, 02:29:54) 
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import dill as pickle
>>> pickle.load_session('session.pkl')
>>> restored
<requests.sessions.Session object at 0x10c012690>

关于python - 将 python 请求 session 存储在持久存储中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27526353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com