问题标签 [inets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
361 浏览

erlang - inets httpd:无法让简单的 esi 脚本工作

这是我用来配置 httpd 服务器的 proplist_file:

对于 esi 脚本,关键属性是:

根据inets 文档

ESI 属性 - 需要 mod_esi

{erl_script_alias, {URLPath, [AllowedModule]}}
URLPath = string() 和 AllowedModule = atom()。erl_script_alias 将所有匹配 url-path 的 URL 标记为 erl 方案脚本。匹配的 URL 映射到特定的模块和函数,例如:

请求 http://your.server.org/cgi-bin/example/httpd_example:yahoo将引用httpd_example:yahoo/3httpd_example:yahoo/2 ,如果不存在,则 http://your.server.org/cgi-bin/example/other:yahoo不允许执行。

我的目录结构是:

我不确定将httpd_example模块放在哪里,所以我把它放在了几个地方。

esi_mod.erl:

这是 shell 中报告的服务器信息:

这是我的要求:

错误日志:

[时间戳] 127.0.0.1 访问 /cgi-bin/example/httpd_example:get_data 失败,原因:“httpd_file: Can't open ./htdocs/cgi-bin/example/httpd_example:get_data: File not found”

根据报错信息,请求路径:

转换为:

这意味着请求路径被附加到./htdocs. 啊??

0 投票
1 回答
859 浏览

apache - inets httpd cgi 脚本:如何检索 json 数据?

我尝试过的 cgi 脚本无法从我的 inets httpd 服务器检索 json 数据。

为了在 cgi 脚本中检索 json 数据,您需要能够读取请求的主体,其中将包含以下内容:

使用 perl cgi 脚本,我可以读取如下请求的正文:

我认为这是读取服务器管道到脚本标准输入的间接方式,因为在 python cgi 脚本中我必须编写:

当我从apache服务器请求 cgi 脚本时,我的 perl 和 python cgi 脚本可以成功地从 apache 获取 json 数据。但是当我从我的inets httpd服务器请求相同的 cgi 脚本时,我的 perl cgi 脚本对请求正文没有读取任何内容,并且我的 python cgi 脚本挂起然后服务器超时。我的 cgi 脚本能够"a=1&b=2"从服务器检索格式化为格式的数据inets httpd——在这种情况下,perl 和 python 中的 cgi 工具会自动为我解析数据,因此我无需尝试读取请求的正文,而是访问结构那个cgi创建的。

这是我的 httpd 服务器配置(server.conf):

我用这个程序()启动我的 httpd 服务器s.erl

我的 cgi 脚本 ( 1.py):

我的 cgi 脚本 ( 1.pl):

在终端窗口中启动服务器:

卷曲请求:

我的目录结构:

0 投票
0 回答
70 浏览

ssl - 长生不老药:将 :inets:start 放入函数有什么优点/缺点?

目前我在hello/0函数中有:inets.start:ssl.start 。是否有文档讨论将初始化代码放入该函数与其他地方的优缺点?

0 投票
1 回答
96 浏览

erlang - Erlang 的 mod_esi 可以重定向吗?

我正在尝试学习在 Erlang 中进行 Web 应用程序开发,现阶段仅使用标准库的 inets 模块。

我遇到的问题是我想验证来自发布查询的数据,然后重定向回带有错误消息的表单页面或欢迎页面。

基本上,我需要做的是得到一个看起来像

虽然mod_esi:deliver/2让我添加标题key: value字段,但我看不到如何替换默认值

HTTP/1.1 303 OK进行重定向。

虽然我确信牛仔、elli 等可以轻松做到这一点,但在学习第三方应用程序之前,我想知道mod_esi其他 inets 模块是否可以做到这一点。

我所拥有的是一个名为 handler 的模块,它具有返回http://erlang.org/doc/manform/3的功能(遵循http://erlang.org/doc/man/mod_esi.html#Module:Function-3 ) /mod_esi.html#deliver-2根据需要。

0 投票
1 回答
69 浏览

erlang - Erlang:如何从 'erl_script_alias' 到 root url 的别名?

这是我拥有的inets配置文件:

使用此配置文件,我可以访问:

我已经知道将{script_alias, {"/cgi-bin/"...更改为{script_alias, {"/"...可以让我从 访问 cgi 脚本https://example.com/,但是如何使用erl_script_alias获得相同的行为?例如:访问https://example.com/和访问/erl/functions/function