http_uri
http_uri
模块
http_uri
模块摘要
URI 实用程序模块
描述
根据RFC 3986
。这个模块提供了用于处理URI的实用函数。
数据类型
在此模块中多次使用的类型定义:
boolean() = true | false
string()
= ASCII 字符列表
unicode_binary()
= binary()以 UTF-8 编码标准编码的字符
Uri 数据类型
与 URI 相关的类型定义:
uri() = string() | unicode:unicode_binary()
根据 RFC 3986 中 URI 定义的语法
user_info() = string() | unicode:unicode_binary()scheme() = atom()
例如:http,https
host() = string() | unicode:unicode_binary()port() = pos_integer()path() = string() | unicode:unicode_binary()
代表文件路径或目录路径
query() = string() | unicode:unicode_binary()fragment() = string() | unicode:unicode_binary()
有关 URI 的更多信息,请参阅RFC 3986
。
出口
decode(HexEncodedURI) -> URI
类型
解码一个可能的十六进制编码的 URI。
encode(URI) -> HexEncodedURI
类型
编码一个十六进制编码的 URI。
parse(URI) -> {ok, Result} | {error, Reason}parse(URI, Options) -> {ok, Result} | {error, Reason}
类型
分析一个 URI。如果没有提供方案默认值,则使用scheme_defaults
函数的值。
当解析具有未知方案的 URI(即,在方案中未找到方案的默认方案)时,必须提供端口号,否则解析失败。
如果片段选项是true
,URI片段作为解析结果的一部分返回,否则将被忽略。
方案验证乐趣定义如下:
fun(SchemeStr :: string() | unicode:unicode_binary()) ->
valid | {error, Reason :: term()}.
它在方案字符串被转换为方案原子之前调用,因此可以防止可能的原子泄漏
scheme_defaults() -> SchemeDefaults
类型
提供此实用程序支持的方案及其默认端口号列表(默认情况下)。