是否有像php setcookie這樣的功能。如果不是那麼如何?如何用雅司餅乾設置餅乾
編輯:
yaws_api:setcookie("lang","lang_value", "/"),
yaws_api:find_cookie_val("lang", (A#arg.headers)#headers.cookie),
find_cookie_val返回空字符串,因爲setCookie方法didnt設置coockie。
是否有像php setcookie這樣的功能。如果不是那麼如何?如何用雅司餅乾設置餅乾
編輯:
yaws_api:setcookie("lang","lang_value", "/"),
yaws_api:find_cookie_val("lang", (A#arg.headers)#headers.cookie),
find_cookie_val返回空字符串,因爲setCookie方法didnt設置coockie。
該網站提供了一些示例代碼,雅司病,設置cookies: http://yaws.hyber.org/cookies.yaws
但@Baxter是正確的,cookies.yaws頁面上的代碼正確地解釋瞭如何做到這一點。你不需要直接設置Set-Cookie頭,只需使用yaws_api:set cookie。 – 2012-02-29 03:59:08
最後我做到了通過HTTP標頭:
out(A) ->
% read
yaws_api:find_cookie_val("lang", (A#arg.headers)#headers.cookie),
% send to browser
[{header,["Set-Cookie:","lang=ruler;","expires="++to_cookie_expire(60*60*24*30)++";"]},
{html, ...}]
end.
to_cookie_expire(SecondsToLive) ->
Seconds = calendar:datetime_to_gregorian_seconds(calendar:local_time()),
DateTime = calendar:gregorian_seconds_to_datetime(Seconds +
SecondsToLive), httpd_util:rfc1123_date(DateTime).
你爲什麼這樣做?使用您可以在Chrome調試控制檯 - >網絡中測試的yaws_api:set_cookie(名稱,值,選項),然後單擊該請求,然後單擊「cookie」選項卡,即可找到請求和響應cookie。 – Aus 2016-08-04 15:28:37
此外,它可能是你使用舊的雅司版本。充滿了錯誤。升級到最新。 – Aus 2016-08-04 15:29:16
忘記我的第一條評論,實際上,如果您使用yaws_api:set_cookie/3,則無法在響應中添加更多內容,如json或html。我希望我做錯了什麼,因爲這是不切實際的。 – Aus 2016-08-05 15:47:25
你嘗試在你喜歡的搜索引擎的搜索中鍵入您的問題標題框?這給了什麼結果?你有什麼具體問題? – Mat 2012-02-28 14:30:06
@Mat,是的,我做了,但不能讓它工作,我的代碼寫入問題帖子。 – Yola 2012-02-28 14:53:57
你真的有這樣的代碼嗎?最有可能的cookie不能在您設置的相同請求中查詢。但應該可以在隨後的請求中找到。 – Mat 2012-02-28 14:58:33