在线文档教程

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

类型

提供此实用程序支持的方案及其默认端口号列表(默认情况下)。