Intento descargar un archivo con wget
y curl
se rechaza con un error 403 (prohibido).
Puedo ver el archivo usando el navegador web en la misma máquina.
Intento nuevamente con el agente de usuario de mi navegador, obtenido por http://www.whatsmyuseragent.com . Hago esto:
wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
y
curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
Pero todavía está prohibido. ¿Qué otras razones podría haber para el 403, y de qué maneras puedo alterar los comandos wget
y curl
para superarlos?
(no se trata de poder obtener el archivo; sé que puedo guardarlo desde mi navegador; se trata de entender por qué las herramientas de línea de comandos funcionan de manera diferente)
actualizar
Gracias a todas las excelentes respuestas dadas a esta pregunta. El problema específico que encontré fue que el servidor estaba verificando el referente. Al agregar esto a la línea de comandos, podría obtener el archivo usando curl
y wget
.
El servidor que verificó el referidor rebotó a través de un 302 a otra ubicación que no realizó ninguna verificación, por lo que uno curl
o wget
de ese sitio funcionó limpiamente.
Si alguien está interesado, esto ocurrió porque estaba leyendo esta página para aprender sobre CSS incrustado y estaba tratando de mirar el CSS del sitio para ver un ejemplo. La URL real con la que estaba teniendo problemas era esta y curl
terminé con es
curl -L -H 'Referer: http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
y el wget es
wget --referer='http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
Muy interesante.