您如何使用Erlang URL编码参数?

问题描述 投票:20回答:8

我正在使用httpc:request将一些数据发布到远程服务。我正在处理该帖子,但是该帖子的body()中的数据是按原样通过的,没有任何URL编码,这导致该帖子在通过远程服务进行解析时失败。

为此,Erlang中是否有一个函数类似于Ruby中的httpc:request

http url encoding erlang
8个回答
8
投票

您可以在这里找到CGI.escape


23
投票

我也遇到了HTTP模块中缺少此功能的问题。


9
投票

至少在R15中有> CGI.escape("[email protected]") => "luca%2Bmore%40here.com" > URI.escape("[email protected]") => "[email protected]" 来完成这项工作。我也不建议使用edoc_lib:escape_uri,因为它会将'='转换为%3d而不是%3D,这给我带来了麻烦。


7
投票

这是完成任务的简单函数。它旨在直接与inets httpc一起使用。


4
投票

回答我自己的问题...我在ibrowse中找到了这个库!


4
投票

如果有人需要在erlang中编码与utf-8兼容的uri:


1
投票

这里是https://gist.github.com/3796470函数的一个“分支”,它在UTF-8支持上有所改进,还支持二进制文件。


0
投票

AFAIK,标准库中没有URL编码器。认为我从YAWS或其他Erlang Web服务器之一“借用了”以下代码:

© www.soinside.com 2019 - 2024. All rights reserved.