如何使用yaws设置cookies

如何使用yaws设置cookies,cookies,erlang,yaws,Cookies,Erlang,Yaws,是否有类似的功能。如果没有,那怎么办 编辑: yaws_api:setcookie("lang","lang_value", "/"), yaws_api:find_cookie_val("lang", (A#arg.headers)#headers.cookie), find_cookie_val返回空字符串,因为setcookie没有设置coockie。此网站提供了一些yaws和设置cookie的示例代码: 最后我通过http头完成了: out(A) -> % read yaw

是否有类似的功能。如果没有,那怎么办

编辑:

yaws_api:setcookie("lang","lang_value", "/"),
yaws_api:find_cookie_val("lang", (A#arg.headers)#headers.cookie),

find_cookie_val返回空字符串,因为setcookie没有设置coockie。

此网站提供了一些yaws和设置cookie的示例代码:

最后我通过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).

您是否尝试在您喜爱的搜索引擎的搜索框中键入问题标题?结果如何?你有什么具体的问题?@Mat,是的,我有,但不能让它工作,把我的代码写进了问题帖。你真的有这样的代码吗?很可能无法在您设置的同一请求中查询cookie。但在后续的请求中应该可以找到它。@Mat,我只刷新了页面两次。@Mat,谢谢你的支持投票。)但是@Baxter是对的,cookies.yaws页面上的代码准确地解释了如何执行此操作。您不需要直接设置set-Cookie头,只需使用yaws\u-api:set-Cookie即可。为什么要这样做?使用yaws_api:设置您可以在Chrome调试控制台->网络中测试的cookie(名称、值、选项),然后单击请求,然后单击“cookie”选项卡,在那里您将找到请求和响应cookie。也可能是您正在使用旧的yaws版本。到处都是虫子。升级到最新版本。忘记我的第一条评论,实际上如果你使用yaws\u api:set\u cookie/3,你就不能在你的响应中添加更多的东西,比如json或html。我希望我做错了什么,因为这实在不切实际。