我在使用CURL命令行时遇到了一些问题。我正在尝试向API发送POST请求,该API启动新会话。现在,当我发出下一个请求时,我希望在同一个会话中,但是当我发出另一个CURL请求时,它会给我一个完全不同的会话。
例如,我向服务器发出以下请求:
curl -v --keepalive --data "username=username&password=password" http://example.com/login
上面的命令为我提供了类似
的唯一会话IDprgl4esck2hu7ge1gustnfgb35
然后我向服务器提出了另一个请求:
curl -v --keepalive http://example.com/checkLogin
当我将上面的命令输入CMD时,它给了我一个完全不同的会话ID。换句话说,会话不是持久性的,我需要持久化。我不知道我做错了什么。请帮助,我一直试图解决这个问题几个小时了。非常感谢任何帮助!
BTW:这在Postman中完全正常,所以我知道它必须是来自命令行的curl请求的问题。
答案 0 :(得分:1)
我认为当你说“新会话”时,你的意思是你会得到一套新的cookie?
您可能希望记录收到的Cookie,然后在后续通话中发回相应的Cookie。我在how to send cookies with curl的早期回答中对此进行了详细说明。
--keepalive有所不同:它要求为连接启用TCP keep-alive(默认情况下已经启用)。