2011-05-03 71 views
3

我的工作中的Node.js一些類似瀏覽器的cookie處理,並想知道如何遠從NodeJS and HTTP Client - Are cookies supported?Set-Cookie是否包含多個Cookie?

代碼下降到第一個分號後,一切都在這個代碼擴展。

var cookie = get(response.headers, "Set-Cookie") 
if (cookie) { 
    cookie = (cookie + "").split(";").shift() 
    set(opts.headers, "Cookie", cookie) 
} 

我將以有限的方式對此進行擴展,並着眼於如何避免爲未來步驟重寫。

我看到使用多個Set-Cookie標頭設置了多個Cookie。

回答

5

在第一個分號後刪除所有內容是一個壞主意,因爲它包含cookie元數據。下面是我從StackOverflow上(略刪節)收到的Set-Cookie頭:被設置

usr=t=ABCDEFGHIJ&s=23412341234; domain=.stackoverflow.com; expires=Fri, 04-Nov-2011 07:39:57 GMT; path=/; HttpOnly 

多個cookie看起來是這樣的:

hest2=spam, pony2=spam, sovs2=spam; expires=Wed, 04-May-2011 07:51:27 GMT, NO_CACHE=Y; expires=Wed, 04-May-2011 07:56:27 GMT; path=/; domain=.something.d6.revealit.dk 

所以cookie字符串是相當複雜的解析,所以我不沒想到有一個簡單的方法來完成這個...

+0

謝謝,它不是我的想法,放棄分號後的一切,它是我開始的代碼。感謝您的上述例子。就像我說的那樣,我將以有限的方式擴展這一點。目前,我很安全地讓程序在任何意想不到的cookie格式上失敗,這是我正在做的,但我可能會寫一個更通用的cookie處理程序,我會考慮這些格式。 – 2011-05-04 13:50:27

相關問題