2009-12-07 140 views

回答

0

libcurl可以幫助你做到這一點。參見「沒有巧克力片的餅乾」here

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); 
    } 

    // ... 
}