如何在使用 Python- 401 错误浏览网站时维护会话



我正在尝试编写一个 Python 脚本,该脚本登录到网站并在成功登录后导航到链接。当我导航到其他链接时,我无法维护会话。

我尝试通过使用请求导入来做到这一点。我能够登录到该网站并在导航到其他页面时收到 401 错误。

import requests
from lxml import html
USERNAME = "AMITHSR"
PASSWORD = "******"
LOGIN_URL = "https://login.apigee.com/login"
TARGET_URL = "https://apigee.com/organizations/amithsr77-eval/proxies"

def main():
    session_requests = requests.session()
    # Get login csrf token
    result = session_requests.get(LOGIN_URL)
    tree = html.fromstring(result.text)
    authenticity_token = list(set(tree.xpath("//input[@name='X-Uaa-Csrf']/@value")))[0]
    # Create payload
    payload = {
        "username": USERNAME,
        "password": PASSWORD,
        "X-Uaa-Csrf": authenticity_token
    }
    # Perform login
    result = session_requests.post(LOGIN_URL, data=payload, headers=dict(referer=LOGIN_URL))
    print(result)
    page = session_requests.get(TARGET_URL)//401 error is here
    tree2 = html.fromstring(page.content)

我认为您需要使用requests.sessions.Session()来完成此任务。(我的安装requests.session()文档说这已被弃用(。

如果您使用 Session() 对象,您可以准备请求然后发送它,这应该允许您 GET(( 您的目标 URL。

最新更新