使用python请求的正确方法是什么

时间:2013-06-26 03:57:23

标签: python python-requests

请求文档提供了类似的代码

s = requests.Session()

s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
r = s.get("http://httpbin.org/cookies")

如果我想使用request.Session的连接池功能,每次发送请求时是否需要实例化一个新的Session?如果我不需要新的会话,我该怎么检查旧的seeion现在有效吗?

2 个答案:

答案 0 :(得分:1)

如果您想使用连接池,则想要创建新会话。连接池由Session对象管理,您应该通过它传递所有请求。

通常,如果您使用Requests在程序中执行两个或三个以上的HTTP请求,则应创建一个Session对象并通过它运行所有请求。这将为您提供请求所提供的所有好处,例如cookie持久性和连接池。

答案 1 :(得分:0)

所以,我查看了文档并且......我认为它会自动让你的会话保持活力。

如果您对死亡会话有任何问题,请告诉我,但请假设请求将为您处理。我可能误解了文档,但我认为你不必担心它。

来自文档:

  

保持活动

     

好消息 - 感谢urllib3,keep-alive在会话中是100%自动的!   您在会话中发出的任何请求都将自动重用相应的请求   连接!

     

请注意,连接只会释放回池中,以便在所有正文数据后重复使用   已被阅读;一定要将stream设置为False或读取content属性   响应对象。