La existencia de una URL se puede comprobar comprobando el código de estado en el encabezado de respuesta. El código de estado 200 es una respuesta estándar para requests HTTP exitosas y el código de estado 404 significa que la URL no existe.
Funciones utilizadas:
- Función get_headers(): Obtiene todos los encabezados enviados por el servidor en respuesta a la solicitud HTTP.
- Función strpos(): Esta función se utiliza para encontrar la primera aparición de una string en otra string.
Ejemplo 1: este ejemplo busca el código de estado 200 en el encabezado de respuesta. Si el código de estado es 200, indica que la URL existe; de lo contrario, no existe.
<?php // Initialize an URL to the variable $url = "https://www.geeksforgeeks.org"; // Use get_headers() function $headers = @get_headers($url); // Use condition to check the existence of URL if($headers && strpos( $headers[0], '200')) { $status = "URL Exist"; } else { $status = "URL Doesn't Exist"; } // Display result echo($status); ?>
Producción:
URL Exist
Ejemplo 2: este ejemplo busca el código de estado 404 en el encabezado de respuesta. Si el código de estado es 404, indica que la URL no existe; de lo contrario, existe la URL.
<?php // Initialize an URL to the variable $url = "https://www.geeksforgeeks.org"; // Use get_headers() function $headers = @get_headers($url); // Use condition to check the existence of URL if($headers || strpos( $headers[0], '404')) { $status = "URL Doesn't Exist"; } else { $status = "URL Exist"; } // Display result echo($status); ?>
Producción:
URL Doesn't Exist
Ejemplo 3: este ejemplo usa el método curl_init() para verificar la existencia de una URL.
<?php // Initialize an URL to the variable $url = "https://www.geeksfgeeks.org"; // Use curl_init() function to initialize a cURL session $curl = curl_init($url); // Use curl_setopt() to set an option for cURL transfer curl_setopt($curl, CURLOPT_NOBODY, true); // Use curl_exec() to perform cURL session $result = curl_exec($curl); if ($result !== false) { // Use curl_getinfo() to get information // regarding a specific transfer $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($statusCode == 404) { echo "URL Doesn't Exist"; } else { echo "URL Exist"; } } else { echo "URL Doesn't Exist"; } ?>
Producción:
URL Doesn't Exist
Publicación traducida automáticamente
Artículo escrito por aman neekhara y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA