es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puede cURL detectar una respuesta 307?

Para mi investigación necesito hacer cURL de los fqdns y obtener sus códigos de estado. (Para servicios Http, Https) Pero algunos urls de http se abren como https aunque se devuelve un código 200 con cURL. (solicitud exitosa, sin redireccionamiento)

curl -I  http://example.example.com/
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 22 Nov 2021 10:43:32 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 64991
Connection: keep-alive
Keep-Alive: timeout=20
Vary: Accept-Encoding
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Link: <https://example.example.com/>; rel=shortlink
X-Powered-By: WP Engine
X-Cacheable: SHORT
Vary: Accept-Encoding,Cookie
Cache-Control: max-age=600, must-revalidate
X-Cache: HIT: 10
X-Cache-Group: normal
Accept-Ranges: bytes

Como se puede ver arriba, obtengo una respuesta 200 con la solicitud de curl. Pero puedo ver el código 307 en mi navegador. (disponible en la imagen a continuación)

Request URL: http://example.example.com/
Request Method: GET
Status Code: 307 Internal Redirect
Referrer Policy: strict-origin-when-cross-origin

¿Puedo detectar el código 307 con curl? (-L no funciona) ¿Alguna sugerencia?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basándonos en la información proporcionada, parece ser que algunas de las solicitudes HTTP están siendo internamente redirigidas a HTTPS. Esto puede estar sucediendo debido a la configuración del servidor o la lógica de la aplicación.

    Para manejar correctamente dichas redirecciones y obtener el código de estado correcto, se puede utilizar el parámetro -L en el comando curl. Este parámetro indica a curl que siga cualquier redireccionamiento que ocurra durante la solicitud, incluyendo los redireccionamientos internos.

    Si el parámetro -L no funciona, puede valer la pena verificar la versión de curl que se está utilizando, así como cualquier configuración de firewall o proxy que pueda estar interfiriendo con la solicitud. Además, es posible intentar replicar la solicitud utilizando un navegador web u otras herramientas como Postman para ver si se comportan de manera diferente.

    En general, el objetivo es asegurar que se obtenga el código de estado HTTP correcto para cada solicitud, independientemente de cualquier redireccionamiento o transferencia interna que pueda ocurrir durante el proceso.

Comments are closed.