2016-03-06 58 views
0

我正在使用nanoHttp服務器。我已經嘗試過的任何東西都可以工我需要能夠點擊一個鏈接(http://localhost:9090/createCookie),該鏈接調用一個方法爲其他鏈接創建一個cookie(http://localhost:9090/application)。我可以使用什麼來在Java中設置cookie?

NanoHttp cookies不支持設置這就是爲什麼我不能使用它們

+0

哪個「nanoHttp」服務器? – markspace

+0

http://www.nanohttpd.org/index.html – Vickie

+0

你能設置標題嗎?因爲cookie以具有特定名稱(Set-Cookie)的標題的形式發送到瀏覽器:https://www.nczonline.net/blog/2009/05/05/http-cookies-explained/。 – Jason

回答

1

可以使用CookieHandler,從NanoHTTPD實例的路徑:

@Override 
public Response serve(IHTTPSession session) { 
    // ... 
    CookieHandler ch = new CookieHandler(session.getHeaders()); 
    ch.set("cookieName", "encoded cookie value", nDaysValid); 
    // ... 
    Response response = ...; // Build up response 
    ch.unloadQueue(response); // Add cookies to it 
    return response; 
} 

你是什麼意思NanoHttp cookies不支持設置路徑

+1

我發現你必須在serve()的末尾添加cookies到響應中,如下所示:'Response response = newFixedLengthResponse(msg); ch.unloadQueue(響應);返回響應;' –

+0

@AlexeyOzerov你是對的,我會編輯它。 – Matthieu

相關問題