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[]>>
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>
<html lang="en">
-------------------
-------------------
-------------------
</script>
</body>
</html>
</pre>