[英]python requests vs bash curl for session cookies
我有一个 bash 脚本,它登录到一个网站并从 URL 获取 json 数据,然后做其他事情。 我正在尝试使用 python 重写脚本,但我被困在了日志部分本身。
下面是我编写的 bash 脚本中的 function,用于登录站点并获取状态
get_status() {
curl -s ''"$url"'/target/app1/login' -c cookiejar
curl -s ''"$url"'/target/app1/login' -X POST -c cookiejar --data 'username='"$username"'&password='"$password"''
cookie=$(grep JSESSIONID cookiejar | awk '{print $6"="$7}')
status=$(curl -s ''"$url"'/target/app1/status' -H 'Cookie: '"$cookie"''
}
我正在尝试使用 python 中的请求执行相同的操作,如下所示
session = requests.Session()
session.get(url + "/target/app1/login")
print(session.cookies)
response = session.post(url + "/target/app1/login", data=data)
print(response.cookies)
在上面的代码中,数据变量保存用户名和密码字符串。
当我打印response.cookies时,我没有得到可用于验证未来请求以获取数据的 JSESSIONID cookie。
注意:当我打印响应时,它返回 200
我是 python 的新手,我们将不胜感激。
谢谢
对于任何有同样问题的人,希望这会有所帮助。
我能够使用下面的代码来实现它。
session = requests.session()
session.get(url + "/target/app1/login")
login = session.post(url + "/target/app1/login", data)
data = session.get(url)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.