我正在尝试编写一个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)
答案 0 :(得分:0)
我认为您需要为此任务使用requests.sessions.Session()
。 (我安装的requests.session()
文档中已弃用了此文件。)
如果您使用Session()
对象,则可以准备请求,然后发送请求,并且应该允许您随后对目标网址进行GET()。