我正在使用牛仔( https://github.com/extend/cowboy )作为一个安静的网络服务,我需要从“http://localhost:8080/?a=1&b=2&c=32”获取参数
init({tcp, http}, Req, Opts) ->
log4erl:debug("~p~n", [Opts]),
{ok, Req, undefined_state}.
handle(Req, State) ->
{ok, Req2} = cowboy_http_req:reply(200, [], <<"Hello World!">>, Req),
io:format("How to get the params from Req ? "),
{ok, Req2, State}.
terminate(Req, State) ->
log4erl:debug("~p~p~n", [Req, State]),
ok.
最佳答案
您应该使用 cowboy_http_req:qs_val/2
功能,例如cowboy_http_req:qs_val(<<"a">>, Req)
,看https://github.com/extend/cowboy/blob/master/examples/echo_get/src/toppage_handler.erl
举个例子。
您也可以使用 cowboy_http_req:qs_vals/1
检索所有查询字符串值的列表。
关于erlang - 如何从 Cowboy 获取 http 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11627307/