【问题标题】:How to handle cookies with C++ code?如何使用 C++ 代码处理 cookie?
【发布时间】:2010-02-13 06:00:04
【问题描述】:

我正在寻找一种通过 C++ 中的 cookie 处理会话的方法。任何人都可以帮我提供一些解决方案的提示吗?

【问题讨论】:

    标签: c++ session cookies


    【解决方案1】:

    libcurl 可以帮助你。请参阅“没有巧克力片的饼干”here

    【讨论】:

      【解决方案2】:

      假设您的 C++ 代码用作 CGI 处理程序,这只是在请求和响应中读取和写入 cookie 的问题。

      如果你的会话数据很小(小于 32 字节左右),那么你可以把它存储在 cookie 中。

      如果您需要存储更多数据,或者想要在服务器之间共享会话,那么您将需要创建唯一且随机的 ID 来表示您的会话。然后,您应该获取该 ID 并查找实际的会话数据(在内存或数据库中)。

      我写的都是 1990 年代的 CGI 101。

      我猜在 C++ 领域,它应该是这样的:

      int main() {
      
          map<string,string> headers = parseRequestHeaders(cin);
      
          int64_t sessionId = 0;
          SessionData *session = 0;
      
          if (getSessionId(headers, &sessionId)) {
              session = getSession(sessionId);
          }
          else {
              session = newSession();
              sessionId = session->id();
              setCookie(sessionId);
          }
      
          // ...
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-26
        • 2013-03-01
        相关资源
        最近更新 更多