curl sigue redireccionamiento

curl sigue redireccionamiento
Curl es una poderosa utilidad de línea de comandos que facilita la transferencia de datos en una amplia gama de protocolos, incluidos HTTP/HTTPS, FTP, Gopher, etc.

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:

  1. Redireccionamientos permanentes
  2. Redireccionamientos temporales

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.