C++ 如何维护与服务器的连接?

C++ 如何维护与服务器的连接?,c++,rest,http,curl,C++,Rest,Http,Curl,我刚开始使用HTTP,需要连接到服务器。我发现这很有用。因此,当我尝试此方法时: RestClient::response r = RestClient::get("http://localhost:8080/services/login?username=admin&password=changemenow"); NSLog(@"%s",r.body.c_str()); RestClient::response rp = RestClient::get("http://localhos

我刚开始使用HTTP,需要连接到服务器。我发现这很有用。因此,当我尝试此方法时:

RestClient::response r = RestClient::get("http://localhost:8080/services/login?username=admin&password=changemenow");
NSLog(@"%s",r.body.c_str());
RestClient::response rp = RestClient::get("http://localhost:8080/services/logout");
NSLog(@"%s",rp.body.c_str());
对于我收到的第一个请求:

{
  "loginSuccess" : true,
  "sessionId" : "1xmtxh729fepulbfyt8qgf0an",
  "serverVersion" : "5.2.2.6"
}
然而,第二次我得到:

{
  "errorcode" : 401,
  "message" : "Not logged in"
}

我应该如何维护连接?

您可能需要将会话ID发送到服务器,以便它知道您正在谈论的会话。但这取决于服务器的API,因此取决于服务器的工作方式。对于大多数实际服务器,您需要在第二个请求中从第一个响应发送cookie。然而,我不知道如何使用这个特定的库来实现这一点。如果它在任何地方都有一个叫做CookieJar的东西,那么这可能是最简单的方法,但它肯定有一种方法可以让你从响应中读取cookies,并在请求中设置它们。不过,正如Cornstales所说,这完全取决于web服务器,如果您打算使用sessionId做什么,该怎么办。这就是为什么需要记录服务器API的原因。