Función dns_get_record() de PHP: Todo lo que necesitas saber
Como desarrollador de PHP, es posible que necesites obtener varios tipos de registros DNS para un nombre de dominio. La función dns_get_record() es una función integrada de PHP que te permite recuperar estos registros.
⚠️ Aviso de obsolescencia: dns_get_record() fue marcada como obsoleta en PHP 8.2 y eliminada en PHP 8.4. Para aplicaciones PHP modernas, considera usar la extensión getdns, comandos del sistema como dig o nslookup a través de shell_exec(), o bibliotecas DNS de terceros.
¿Qué es la función dns_get_record()?
La función dns_get_record() recupera varios tipos de registros DNS para un nombre de dominio determinado. Devuelve un array de registros DNS basado en el tipo de registro que especifiques.
Cómo usar la función dns_get_record()
El uso de la función dns_get_record() es sencillo. A continuación se muestra la sintaxis de la función:
La sintaxis PHP de la función dns_get_record()
dns_get_record($hostname, $type = DNS_ANY, &$authns = NULL, &$addtl = NULL);La función acepta cuatro parámetros:
$hostname: El nombre de dominio para el cual deseas recuperar los registros DNS.$type: El tipo de registro DNS que deseas recuperar. Este parámetro es opcional y su valor predeterminado esDNS_ANYsi no se especifica.&$authns: Una variable que almacena los servidores de nombres DNS autoritativos para el dominio.&$addtl: Una variable que almacena información adicional sobre los registros DNS.
A continuación se muestra un ejemplo de cómo usar la función dns_get_record() para recuperar los registros A y MX de un nombre de dominio, capturando al mismo tiempo los servidores de nombres autoritativos y los registros adicionales:
¿Cómo usar la función dns_get_record()?
<?php
$domain = "example.com";
$authns = [];
$addtl = [];
$records = dns_get_record($domain, DNS_A | DNS_MX, $authns, $addtl);
print_r($records);La función devuelve un array de arrays asociativos. Cada elemento representa un registro DNS y contiene claves comunes como host, type, class y ttl. Dependiendo del tipo de registro, también incluye claves específicas del tipo como ip (o ipv6), priority, target, txt o ns.
Tipos de registros DNS
La función dns_get_record() puede recuperar varios tipos de registros DNS. A continuación se presentan algunos de los tipos más comunes:
A: Devuelve la dirección IPv4 del nombre de dominio.AAAA: Devuelve la dirección IPv6 del nombre de dominio.MX: Devuelve el servidor de intercambio de correo para el nombre de dominio.NS: Devuelve el servidor de nombres para el nombre de dominio.CNAME: Devuelve el nombre canónico para un alias.
Conclusión
La función dns_get_record() es una herramienta útil para recuperar varios tipos de registros DNS para un nombre de dominio. Al comprender la sintaxis y el uso de la función, podrás obtener fácilmente los registros DNS que necesitas para tu aplicación PHP. Esperamos que este artículo haya sido informativo y útil para comprender la función dns_get_record() en PHP.
Práctica
¿Cuál es el propósito de la función dns_get_record() en PHP?