mirror of
https://github.com/danog/dns.git
synced 2025-01-22 13:31:12 +01:00
Bob Weinand
540f851e8d
Fix an infinite loop when all 65536 requests are done
Also use a CSPRNG for generating random numbers (fallback to paragonie/random_compat for PHP 5)
dns
amphp/dns
provides asynchronous DNS name resolution based on the amp
concurrency framework.
Required PHP Version
- PHP 5.5+
Installation
$ composer require amphp/dns:dev-master
Example
<?php
require __DIR__ . '/vendor/autoload.php';
Amp\run(function () {
$githubIpv4 = (yield Amp\Dns\resolve("github.com", $options = ["types" => Amp\Dns\Record::A]));
var_dump($githubIpv4);
$googleIpv4 = Amp\Dns\resolve("google.com", $options = ["types" => Amp\Dns\Record::A]);
$googleIpv6 = Amp\Dns\resolve("google.com", $options = ["types" => Amp\Dns\Record::AAAA]);
$firstGoogleResult = (yield Amp\first([$ipv4Result, $ipv6Result]));
var_dump($firstGoogleResult);
$combinedGoogleResult = (yield Amp\Dns\resolve("google.com"));
var_dump($combinedGoogleResult);
$googleMx = (yield Amp\Dns\query("google.com", Amp\Dns\Record::MX);
var_dump($googleMx);
});
Languages
PHP
98.6%
Makefile
1.4%