socket_addrinfo_lookup
获取有关给定主机名的getaddrinfo内容的数组
PHP 7.0及以上版本
该函数用于根据给定的主机名和服务名获取地址信息。它类似于传统的 DNS 查找,但提供更多的控制权,如支持 IPv6 地址和指定端口。
socket_addrinfo_lookup(string $hostname, string $service, int $family = AF_UNSPEC, int $socktype = SOCK_STREAM, int $protocol = SOL_TCP, int $flags = 0): array|false
成功时返回一个关联数组,其中包含匹配的地址信息。失败时返回 false。
以下是一个简单的示例,展示如何使用 socket_addrinfo_lookup 函数查找主机名和端口的地址信息。
此代码使用“example.com”作为主机名,查询端口为80(HTTP)的地址信息。
<?php $hostname = "example.com"; $service = "80"; $results = socket_addrinfo_lookup($hostname, $service); if ($results === false) { echo "查询失败\n"; } else { foreach ($results as $result) { echo "地址: " . $result['address'] . "\n"; echo "端口: " . $result['port'] . "\n"; } } ?>
在此示例中,`socket_addrinfo_lookup` 会根据指定的主机名(“example.com”)和服务(端口 80)返回地址信息。如果查询失败,将输出“查询失败”。否则,输出找到的每个地址和对应端口。