会话不会保持活跃/不断变化 - CURL命令行

时间:2015-04-24 05:00:48

标签: session batch-file curl command-line

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

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

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

上面的命令为我提供了类似

的唯一会话ID
prgl4esck2hu7ge1gustnfgb35

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

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

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

BTW:这在Postman中完全正常,所以我知道它必须是来自命令行的curl请求的问题。

1 个答案:

答案 0 :(得分:1)

我认为当你说“新会话”时,你的意思是你会得到一套新的cookie?

您可能希望记录收到的Cookie,然后在后续通话中发回相应的Cookie。我在how to send cookies with curl的早期回答中对此进行了详细说明。

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