Python requests.get与Session.get对比

3

我正在使用Python请求从API中获取数据

我使用的API在其文档中提供了以下信息:

response = session.get(url, params=parameters)

但是我阅读的教程使用了:

tes = requests.get(url, headers={'Accept': 'application/json'}, params={'term': 'cat', 'limit': 1})

这两种技术有什么区别,我应该使用哪一个?

1个回答

3
如果您只需要获取一个单独的项目,不需要先登录并且不需要持久化 cookies,请使用 requests.get()
requests.readthedocs.io 的文档中提到:

requests.get() 没有会话对象的某些优点。特别是,会话级状态(如 cookies)将不会应用于您的请求。

您仍然可以使用 requests.get() 发送和接收 cookies,但您需要自行管理它们。
如果您有更复杂的任务需要持久化 cookies,或者希望加速对同一主机的多个请求,请使用 Session.get()
requests.readthedocs.io 的文档中提到:

会话对象允许您在请求之间保留某些参数。它还跨 Session 实例持久化 cookies,并将使用 urllib3 的连接池。因此,如果您正在向同一主机发出多个请求,则底层 TCP 连接将被重用,这可能会导致显着的性能提升(请参阅 HTTP 持久连接)。


谢谢,这让我清楚了! - Ging

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接