Enviar una solicitud, en este caso, significa básicamente acceder al HTML de una página directamente con código PHP. Hay dos formas de hacerlo.
En primer lugar, podemos utilizar la biblioteca PHP-CURL, que también nos permite modificar los encabezados y el cuerpo que enviamos en nuestra solicitud.
<?php
header("Content-Type: text/plain"); // We choose to display the content as plain text
$ch = curl_init("https://www.imdb.com/chart/top/");
curl_setopt($ch, CURLOPT_HEADER, 0);
$response = curl_exec($ch); // Running the request
if (curl_error($ch)) {
echo curl_error($ch); // Displaying possible errors from the request
} else {
echo $response; // Displaying the content of the response
}
curl_close($ch);
?>
Otra opción es una línea de código, utilizando el método file_get_contents($url), pero esto puede resultar insuficiente en algunos casos. Para enviar encabezados a esta solicitud, debes utilizar un contexto creado con el método stream_context_create.
<?php
header("Content-Type: text/plain"); // We choose to display the content as plain text
echo file_get_contents('https://www.imdb.com/chart/top/'); // We retrieve and display the contents of the response in a single line
?>
Debes decidir qué método utilizar en función de la complejidad del rastreador que quieras crear.
Los dos fragmentos de código anteriores mostrarán el código fuente HTML de la página que estamos rastreando, el mismo que se ve al inspeccionar el sitio web. Usaremos la primera línea del código para mostrar los resultados como texto sin formato (text/plain). De lo contrario, se renderizará directamente como HTML.
Si hay alguna diferencia en la estructura HTML, significa que hay un código JavaScript ejecutándose en el sitio web y cambiando el contenido una vez que el usuario accede a él. Hemos preparado un consejo sobre cómo lidiar con eso más adelante en el artículo.