Python Requests.session() 方法



Python Requests.session() 方法创建一个用于发出 HTTP 请求的持久会话,允许我们在同一会话中的多个请求中重用 cookie 和标头等参数。这通过维护连接池并有效处理 Cookie 和身份验证来提高性能。

此外,它还会在请求之间保留标头和其他设置,例如连接超时。通过跨请求保留状态,requests.session() 简化了 Web 抓取、API 交互和其他需要重复 HTTP 请求的任务,同时为管理特定于会话的数据和设置提供了一个方便的界面。

它特别适用于效率和状态管理至关重要的场景,例如 Web 自动化或 API 集成。

语法

以下是 Python Requests.session() 方法的语法和参数 -


 requests.session()

参数

此方法不采用任何参数。

返回值

此方法返回 Response 对象。

示例 1

以下是 python Requests.session() 方法的基本示例 -


import requests

# Create a session
session = requests.session()

# Now you can use `session` to make requests
response = session.get('https://google.com')
print(response)

输出

<Response [200]>

示例 2

当使用 Python 中的 requests 库发出 HTTP 请求时,我们可以利用 session 对象在多个请求中保留 cookie。会话对象将在该会话内的所有请求中保留 Cookie。以下是我们该怎么做 -


import requests

# Create a session object
session = requests.Session()

# Perform a GET request to receive cookies
response = session.get('https://qikepu.com')

# Print the received cookies
print("Received cookies:", session.cookies)

# Now, you can make subsequent requests within the same session
response = session.get('https://qikepu.com/another-page')

# Print the updated cookies after subsequent requests
print("Updated cookies:", session.cookies)

输出

Received cookies: <RequestsCookieJar[]>
Updated cookies: <RequestsCookieJar[]>>

示例 3

使用 Python 中的 requests 库在 HTTP 请求中设置标头非常简单。我们可以将包含 headers 的字典传递给请求方法的 headers 参数,例如 get、post、put、delete 等。以下是我们如何设置标头的示例 -


import requests

# Define custom headers
headers = {
	 	 'User-Agent': 'Welcome to qikepu',
	 	 'Authorization': 'Bearer my_token'
}

# Make a GET request with custom headers
response = requests.get('https://qikepu.com', headers=headers)

# Print the response
print(response.text)

输出

<!DOCTYPE html>>
<html lang="en">
-------------------
-------------------
-------------------
</script>
</body>
</html>
</pre>