【问题标题】:How to maintain session while navigating a website using Python- 401 error如何在使用 Python-401 错误导航网站时保持会话
【发布时间】:2019-10-30 19:58:35
【问题描述】:

我正在尝试编写一个 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)

【问题讨论】:

    标签: python python-3.x scripting


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-10
      • 2012-07-21
      • 1970-01-01
      • 2022-09-28
      • 2011-03-31
      • 2014-07-15
      • 2011-08-17
      • 2012-03-26
      相关资源
      最近更新 更多