如何使用C ++代码处理cookie?

时间:2009-12-07 04:25:47

标签: c++ session cookies

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

2 个答案:

答案 0 :(得分:0)

libcurl可以帮助您解决这个问题。请参阅“没有巧克力片的饼干”here

答案 1 :(得分:0)

假设您的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);
    }

    // ...
}