使用 Python 请求维护会话



我正在尝试登录一个网站,根据提供的 REST API 指南,我将能够接收应用程序的一些数据。

我制定所需的两个步骤是:1. 发送 HTTP 发布命令进行身份验证。2. 发送用于接收数据的 GET 命令。

当我使用 python 请求发送 post 命令时,我收到所需的 json 响应,显示我的登录权限。 例如角色管理员。

但是,当我在之后执行 get 命令时,它不会检索数据,而是发送一个 HTML 表单,显示即使我已经进行身份验证,我也需要身份验证。

有没有人遇到过这个问题,我将如何解决它?

正在为客户处理这个问题,因此无法发布我正在使用的实际登录名和 url,因此会用我的名字替换我将显示的代码。

谢谢在此处输入图像描述

您可以查看请求库中的会话对象。它用于跨多个请求保留会话。https://3.python-requests.org/user/advanced/#session-objects

import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set?authcookie=123')
r = s.get('http://httpbin.org/cookies')
print(r.text)

此示例使用请求会话对象调用设置 Cookie 的 URL,然后对同一会话(包括 Cookie(执行另一次调用。只是使用 http://httpbin.org/的一些基本示例。

最新更新