Ya sea construyendo y depurando solicitudes simples o API complejas, Curl es una excelente herramienta en su conjunto de habilidades.
Este tutorial explorará el concepto de redireccionamientos HTTP y cómo podemos usar Curl para seguirlos en una solicitud.
¿Qué es una redirección http??
Una redirección HTTP, comúnmente conocida como redirección, se refiere a una técnica en la que una dirección dada devuelve una instrucción de redirección en lugar de devolver el recurso o documento solicitado.
Es básicamente lo que sugiere. Cuando un cliente solicita un recurso específico, en lugar de que el servidor responda con el resultado consultado, le dice al cliente que busque el recurso en una ubicación diferente.
La imagen a continuación muestra un concepto básico de una redirección HTTP.
Fuente: Red de desarrolladores de Mozilla.
El siguiente es un encabezado de redirección HTTP simple.
Http/1.1 301 se movió permanentemente
Ubicación: https: // Linuxhint.comunicarse
En el ejemplo anterior, el servidor nos dice que la dirección http: // linuxhint.com se ha movido permanentemente a https: // Linuxhint.comunicarse
Hay dos tipos principales de redireccionamientos:
Redireccionamientos permanentes
Estas son las redirecciones que duran y no son válidas para esa solicitud específica. Una redirección permanente le dice al cliente que el recurso solicitado se ha trasladado permanentemente a una nueva dirección. Una redirección permanente se denota mediante el código de estado HTTP 301.
Redireccionamientos temporales
Por otro lado, las redirecciones temporales le dicen al cliente que el servidor desea redirigir a un nuevo recurso. Sin embargo, esta redirección no es permanente y no debe almacenar en caché esta redirección. Esto significa que la redirección no estará allí en algún momento posterior.
Este tipo de redirección se denota mediante el código de estado HTTP 302.
Ahora, tenemos los conceptos básicos de las redirecciones HTTP, aprendamos a decirle a Curl que siga una respuesta de redirección.
curl sigue redireccionamiento
Curl le permite seguir una redirección utilizando la bandera -l. Esta bandera se deriva del encabezado de ubicación en una operación de redirección.
La sintaxis del comando es como se muestra:
$ curl -l [url]
Un ejemplo de una redirección curl simple es como se muestra:
curl -l http: // linuxhint.comunicarse
Curl Set Max Redirects
Cuando permite que Curl siga las redirecciones, puede realizar hasta 50 redireccionamientos. Sin embargo, puede establecer un valor personalizado para las redirecciones utilizando el parámetro -max -Redirs.
La sintaxis es como se muestra:
$ curl -l -max -redirs [número] [url]
Por ejemplo, para establecer un máximo de 5 redirecciones, podemos ejecutar:
$ curl -l --max -redirs 5 http: // linuxhint.comunicarse
el rizo habilita las redirecciones infinitas
No es duda que Curl intentará protegerlo de ejecutar redireccionamientos infinitos. Por lo tanto, si realiza una solicitud que devuelva más de 20 redireccionamientos, Curl cancelará automáticamente la solicitud.
Sin embargo, puede anular esta opción configurando el parámetro -max -Redirs en -1
La sintaxis es como se muestra:
$ curl -l -max -redirs -1 [url]
Curl evita la conversión del método HTTP
Si encuentra una redirección al realizar una solicitud de publicación HTTP, Curl convertirá la solicitud a una solicitud GET en su lugar.
Sin embargo, puede evitar que Curl convierta una publicación para obtener cuando encuentre un parámetro -post [status_code] de 301, 302 y 303 utilizando el parámetro -post [status_code].
Se muestra la sintaxis:
$ curl -l - -pos [status_code] [url]
Por ejemplo, para evitar que el curl se convierta para obtener cuando se encuentre una redirección 301:
$ curl -l - -pos301 [url]
rizo autenticar redirección
Es posible que deba proporcionar credenciales de autores al realizar una solicitud. Sin embargo, si Curl encuentra una redirección, evitará el envío de las credenciales por razones de seguridad.
Puede anular esto estableciendo el parámetro -location -Trust.
La sintaxis es como se muestra:
$ Curl -l -Usation -Trusted -User "Usuario: Contraseña"
Conclusión
Usando este tutorial, descubrimos cómo realizar operaciones de redirección usando curl. Cubrimos conceptos como seguir una redirección simple, establecer el número de redireccionamientos, redireccionamientos infinitos y autenticación de rizos en una redirección.