如何用雅司饼干设置饼干
是否有像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