gpt4 book ai didi

Python请求无法获取cookie

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:15 25 4
gpt4 key购买 nike

就我而言,我需要从生产机器中提取数据。我的同事为我设计了以下策略 (API)。

  1. 登录应用程序 - 使用 cookie 设置您的应用程序/脚本;
  2. 访问项目主页 - 很多 JSON 格式的项目信息;
  3. 通过过滤器提取项目ID,并使用特殊的API来获取每个合格项目的详细信息...

这是我的代码:

import requests
s = requests.session()
login_data=dict(User='XXXXXX',Password='XXXXXX')
url = 'http://internal-pilot-XXXXXXX-elb-15h4lq2sm46fi-6574XXXXX.us-east-1.elb.amazonaws.com/XXXX-editor-web/spring_security_login'
s.post(url, data=login_data)
r = s.get('http://internal-pilot-XXXXXXX-elb-15h4lq2sm46fi-6574XXXXX.us-east-1.elb.amazonaws.com/XXXX-editor-web/api/projects')

我逐行执行了代码。运行“s.post(url, data=login_data)”后,我注意到虽然我得到“Response [200]”,但 session cookie 是空的。

>>> s.post(url, data=login_data)
<Response [200]>
>>> s.cookies
<RequestsCookieJar[]>

运行 s.get('...') 后,我注意到即使我得到“响应 [403]”, session cookie 也不再为空。

>>> s.get('http://internal-pilot-XXXXXXX-elb-15h4lq2sm46fi-6574XXXXX.us-east-1.elb.amazonaws.com/oaqc-editor-web/api/projects')
<Response [403]>
>>> s.cookies.get_dict()
{'AWSELB': '39E1F543067A169F5670C20A97C217D25E0183C29D4C14F38EFC1FC58E993C6F96E88F97B58950E092F4C948A0A99AE42DED20A93E542EFD80F074EB26477729DB0DD1B5469C655062CB6005E3C6F5BDDDCEA57A12', 'JSESSIONID': '61A6DFB9DDDF1BFD7FD4F6B47E7E2B2D'}

然后我尝试了r = s.get('...', cookies=s.cookies)但仍然得到“响应 [403]”,这意味着 cookie 未成功存储并传递到以下请求中。

我这里有什么错误吗?我在 Stack Overflow 上搜索并发现了很多类似的讨论,但没有一个能解决我的问题。非常感谢。

最佳答案

我猜您的login_data语法无效。您没有为字典提供键值对。
您需要提供这样的登录数据:

import requests
s = requests.session()

login_data = {'User':'XXXXX', 'Password': 'XXXXX'} # <----
url = 'http://internal-pilot-XXXXXXX-elb-15h4lq2sm46fi-6574XXXXX.us-east-1.elb.amazonaws.com/XXXX-editor-web/spring_security_login'

s.post(url, data=login_data)
r = s.get('http://internal-pilot-XXXXXXX-elb-15h4lq2sm46fi-6574XXXXX.us-east-1.elb.amazonaws.com/XXXX-editor-web/api/projects')

关于Python请求无法获取cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44445739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com