0 votos

Cómo detectar la redirección HTML

Tengo un script que abre una selección aleatoria de una lista local de más de mil URIs en un sitio web concreto. No he cambiado el script, pero hoy, cada vez, me sale una página que no está en la lista pero sí en el mismo sitio web. El URI solicitado no está en el historial de mi navegador. (Safari)

¿Hay alguna forma de detectar una redirección?

tcpdump me viene a la mente, pero la salida es difícil de buscar.

0voto

geocoin Puntos 121

Si usas curl y no le dices que siga las redirecciones, obtendrás el código de respuesta 3xx y podrás usarlo para ver dónde estás siendo redirigido.

Ej.

  curl -v apple.com
*   Trying 17.253.144.10:80...
*   Trying [2620:149:af0::10]:80...
* Connected to apple.com (17.253.144.10) port 80 (#0)
> GET / HTTP/1.1
> Host: apple.com
> User-Agent: curl/7.86.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 301 Redirect
< Date: Sun, 12 Feb 2023 00:54:52 GMT
< Connection: close
< Via: http/1.1 usnyc3-edge-bx-011.ts.apple.com (acdn/59.14204)
< Cache-Control: no-store
< Location: https://www.apple.com/
< Content-Type: text/html
< Content-Language: en
< X-Cache: none
< CDNUUID: d503e213-6686-4d83-822f-c424b6638655-321701193
< Content-Length: 304
<
<HTML>
<HEAD>
<TITLE>Document Has Moved</TITLE>
</HEAD>

<BODY BGCOLOR="white" FGCOLOR="black">
<H1>Document Has Moved</H1>
<HR>

<FONT FACE="Helvetica,Arial"><B>
Description: The document you requested has moved to a new location.  The new location is "https://www.apple.com/".
</B></FONT>
<HR>
</BODY>
* Closing connection 0

Para limitar la salida a sólo el código de respuesta haga algo como:

  curl -o /dev/null -s -w "%{http_code}\n" apple.com
301
  curl -o /dev/null -s -w "%{http_code}\n" https://www.apple.com
200

Si estás usando Python y la librería requests puedes llamar a status en tu objeto request y obtener también el código de respuesta.

Ej. response.status_code

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X