dns

std.net.dns

fun lookup_hosts

pub fun lookup_hosts(hostname: str, addr: *ip.IPv4) bool;

通过系统 hosts 文件解析主机名

在平台的 hosts 文件中搜索匹配的主机名,并将找到的第一个 IPv4 地址写入 addr

hostname:要查找的以空字符结尾的主机名 addr:指向成功时要填充的 IPv4 地址的指针 ret:如果找到匹配项则为 true

fun query

pub fun query(hostname: str, addr: *ip.IPv4) bool;

通过 DNS A 记录查询解析主机名

通过 UDP 使用 DNS A 记录请求查询平台的名称服务器。将响应中的第一个地址写入 addr

hostname:要解析的以空字符结尾的主机名 addr:指向成功时要填充的 IPv4 地址的指针 ret:如果解析成功则为 true

fun resolve

pub fun resolve(hostname: str, addr: *ip.IPv4) bool;

将主机名解析为 IPv4 地址

根据 RFC 6761,名称 localhost 以及任何以 .localhost 结尾的名称都会解析为回环地址(127.0.0.1),而无需查询 hosts 文件或名称服务器。这是解析器的行为,而不是 hosts 文件内容,因此在 hosts 文件省略了 localhost 的平台上具有可移植性。其他名称会回退到 hosts 文件,然后进行 DNS 查询。

hostname:要解析的以空字符结尾的主机名 addr:指向成功时要填充的 IPv4 地址的指针 ret:如果解析成功则为 true