http://www.myserver.com/exile?Key1=Value1&Key2=Value2
当我向服务器收到这种格式的请求时,我该如何处理这个请求?我需要做什么:需要获取所有值并运行 Erlang 模块,并将结果发送给客户端。流放是 CGI 吗?如果是,它为什么没有 .cgi 扩展名?
附加数据:我在我的服务器(运行 linux 服务器的桌面)上设置了一个 Yaws。yaws.conf 文件已配置。
http://www.myserver.com/exile?Key1=Value1&Key2=Value2
当我向服务器收到这种格式的请求时,我该如何处理这个请求?我需要做什么:需要获取所有值并运行 Erlang 模块,并将结果发送给客户端。流放是 CGI 吗?如果是,它为什么没有 .cgi 扩展名?
附加数据:我在我的服务器(运行 linux 服务器的桌面)上设置了一个 Yaws。yaws.conf 文件已配置。
以下是解决方案:
<erl>
出(A)->
值 = yaws_api:parse_query(A),
Value1 = proplists:get_value("Key1",Values),
Value2 = proplists:get_value("Key2",Values),
%% 然后对他们做任何事情....
%% ....
{html,"Json 数据或 HTML 标记或 XML 数据或数据字符串"}。
%% 或 {ehtml,[{p,[],""}]}。
<erl>
更多信息在这里:http: //yaws.hyber.org/query.yaws
或
<erl>
出(A)->
Value1 = yaws_api:queryvar(A,"Key1"),
Value2 = yaws_api:queryvar(A,"Key2"),
%%这里需要小心
%% 如果找不到值,则
%% 变量将包含一个原子“未定义”
%% 然后对他们做任何事情....
%% ....
{html,"Json 数据或 HTML 标记或 XML 数据或数据字符串"}。
%% 或 {ehtml,[{p,[],""}]}。
<erl>
或者
<erl>
出(A)->
Value1 = yaws_api:getvar(A,"Key1"),
Value2 = yaws_api:getvar(A,"Key2"),
%%这里需要小心
%% 如果找不到值,则
%% 变量将包含一个原子“未定义”
%% 然后对他们做任何事情....
%% ....
{html,"Json 数据或 HTML 标记或 XML 数据或数据字符串"}。
%% 或 {ehtml,[{p,[],""}]}。
<erl>
阅读有关模块的更多信息:yaws_api.erl
*注意 *避免使用最后一个选项 ( getvar/2),因为它首先检查 POST 数据,然后还检查 GET 数据,寻找您指定的参数。仅当您不确定参数是否随 GET 或 POST 请求数据一起出现时才应使用它。