-
-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy path91-query-a-and-aaaa.php
More file actions
33 lines (27 loc) · 1001 Bytes
/
91-query-a-and-aaaa.php
File metadata and controls
33 lines (27 loc) · 1001 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
use React\Dns\Model\Message;
use React\Dns\Query\Query;
use React\Dns\Query\UdpTransportExecutor;
use React\EventLoop\Factory;
require __DIR__ . '/../vendor/autoload.php';
$executor = new UdpTransportExecutor('8.8.8.8:53');
$name = $argv[1] ?? 'www.google.com';
assert(is_string($name));
$ipv4Query = new Query($name, Message::TYPE_A, Message::CLASS_IN);
$ipv6Query = new Query($name, Message::TYPE_AAAA, Message::CLASS_IN);
$executor->query($ipv4Query)->then(static function (Message $message): void {
foreach ($message->answers as $answer) {
assert(\is_string($answer->data));
echo 'IPv4: ' . $answer->data . PHP_EOL;
}
}, static function (Throwable $error) {
echo $error;
});
$executor->query($ipv6Query)->then(static function (Message $message): void {
foreach ($message->answers as $answer) {
assert(\is_string($answer->data));
echo 'IPv6: ' . $answer->data . PHP_EOL;
}
}, static function (Throwable $error) {
echo $error;
});