会话不会停留 alive/constantly 变化 - CURL 命令行

Session not staying alive/constantly changing - CURL command line

我在使用 CURL 命令行时遇到了一些问题。我正在尝试向 API 发送 POST 请求,这会启动一个新会话。现在,我想在发出下一个请求时处于同一会话中,但是当我发出另一个 CURL 请求时,它会给我一个完全不同的会话。

例如,我向服务器发出以下请求:

curl -v --keepalive --data "username=username&password=password" http://example.com/login

上面的命令给了我一个类似

的唯一会话 ID
prgl4esck2hu7ge1gustnfgb35

然后我向服务器发出另一个请求:

curl -v --keepalive http://example.com/checkLogin

当我将上面的命令输入 CMD 时,它给了我一个完全不同的会话 ID。换句话说,会话不是持久的,我需要它是持久的。我不知道我做错了什么。请帮忙,我几个小时以来一直在努力解决这个问题。非常感谢任何帮助!

顺便说一句:这在​​ Postman 中工作得很好,所以我知道它一定是来自命令行的 curl 请求的问题。

我想当你说 "new session" 时,你的意思是你得到了一组新的饼干?

您可能想记录收到的 cookie,然后在后续调用中发回适当的 cookie。我在 how to send cookies with curl.

的早期回答中对此进行了详细说明

--keepalive 有所不同:它要求为连接启用 TCP keep-alive(默认情况下已经启用)。