Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: adgellida en 24 Noviembre 2012, 23:59 pm



Título: Realizar wget correctamente en URLs que redireccionan (SOLUCIONADO)
Publicado por: adgellida en 24 Noviembre 2012, 23:59 pm
Buenas a todos. Tengo el siguiente enlace y querría descargarlo con wget.

Código:
http://download.piriform.com/ccsetup324.exe

Código:
wget -c http://download.piriform.com/ccsetup324.exe

Hasta ahi perfecto, pero cuando intento descargar este enlace

Código:
http://dw.com.com/redir?edId=3&siteId=4&oId=3000-2239_4-10019223&ontId=2239_4&spi=4bf9b7e295aa05d256f0496aff6f8049&lop=link&tag=tdw_dltext&ltype=dl_dlnow&pid=12808071&mfgId=85737&merId=85737&pguid=ULFPkAoOYI8AACN1Ni4AAAFD&destUrl=http%3A%2F%2Fsoftware-files-a.cnet.com%2Fs%2Fsoftware%2F12%2F80%2F80%2F71%2Favast_free_antivirus_setup.exe%3Ftoken%3D1353833494_3d1ff96f823258b81294b512b83efd00%26lop%3Dlink%26ptype%3D3000%26ontid%3D2239%26siteId%3D4%26edId%3D3%26spi%3D4bf9b7e295aa05d256f0496aff6f8049%26pid%3D12808071%26psid%3D10019223%26fileName%3Davast_free_antivirus_setup.exe

Que es el botón Download de esta página http://download.cnet.com/Avast-Free-Antivirus/3000-2239_4-10019223.html?part=dl-85737&tag=lang_es&lang=es (http://download.cnet.com/Avast-Free-Antivirus/3000-2239_4-10019223.html?part=dl-85737&tag=lang_es&lang=es)

No puedo poniendo delante
Código:
wget -c
o lo que sea. Sólo me funciona si pongo entre comillas el enlace y le cambio de nombre así:

Código:
wget -c -O avast.exe "http://dw.com.com/redir?edId=3&siteId=4&oId=3000-2239_4-10019223&ontId=2239_4&spi=6f9090653428d3331f2257339658eb21&lop=link&tag=tdw_dltext&ltype=dl_dlnow&pid=12808071&mfgId=85737&merId=85737&pguid=UK9hpwoOYJMAACcZHcoAAAAq&destUrl=http%3A%2F%2Fsoftware-files-a.cnet.com%2Fs%2Fsoftware%2F12%2F80%2F80%2F71%2Favast_free_antivirus_setup.exe%3Ftoken%3D1353706996_003427b3fdf5573511c347f24070bd02%26lop%3Dlink%26ptype%3D3000%26ontid%3D2239%26siteId%3D4%26edId%3D3%26spi%3D6f9090653428d3331f2257339658eb21%26pid%3D12808071%26psid%3D10019223%26fileName%3Davast_free_antivirus_setup.exe" -a log.txt

1.Alguien tiene idea de cómo "modificar" la URL o los comandos del wget para obtener el archivo como en el ccleaner? Es decir, que lo que salga después del último "/" sea el nombre del archivo a descargar y que cuando se descargue sea ese. En el chrome automáticamente se renombra al correcto, pero con wget este tipo de enlaces no me funcionan como los otros. Llevo días con esto.

2.Cómo se les llama a este tipo de enlaces "problemáticos"?

3.Cuál es la forma correcta de descargar contenido de ellos con wget? Ya que si no se renombran obtiendes un index.html en lugar del .exe. Si a posteriori lo renombras en realidad es el archivo.

Muchas gracias a todos.


Título: Re: Realizar wget correctamente en determinadas URLs
Publicado por: -Myx- en 28 Noviembre 2012, 04:39 am
La segunda URL que das como ejemplo (dw.com.com/redir...) es solo una re-dirección hacia el archivo original.

Código:
sendai@limbo ~ $ wget -S 'http://dw.com.com/redir?edId=3&siteId=4&oId=3...8071%26psid%3D10019223%26fileName%3Davast_free_antivirus_setup.exe'
--2012-11-27 21:25:06--  http://dw.com.com/redir?edId=3&siteId=4&oId=3000-2239_4-10019223&ontId=2239_4&spi...D12808071%26psid%3D10019223%26fileName%3Davast_free_antivirus_setup.exe
Resolviendo dw.com.com... 216.239.120.50
Conectando con dw.com.com[216.239.120.50]:80... conectado.
Petición HTTP enviada, esperando respuesta...
  HTTP/1.1 302 Found
  Date: Wed, 28 Nov 2012 03:28:15 GMT
  Server: Apache/2.0
  Pragma: no-cache
  Cache-control: no-cache, must-revalidate, no-transform
  Vary: *
  Expires: Fri, 23 Jan 1970 12:12:12 GMT
  Location: http://software-files-a.cnet.com/s/software/12/80/80/71/avast_free_antivirus_setup.exe?token=1354108731_17...71&psid=10019223&fileName=avast_free_antivirus_setup.exe
  Content-Length: 0
  P3P: CP="CAO DSP COR CURa ADMa DEVa PSAa PSDa IVAi IVDi CONi OUR OTRi IND PHY ONL UNI FIN COM NAV INT DEM STA"
  Keep-Alive: timeout=363, max=785
  Connection: Keep-Alive
  Content-Type: text/plain
Localización: http://software-files-a.cnet.com/s/software/12/80/80/71/avast_free_antivirus_setup.exe?token=1354108731_17d6...d=10019223&fileName=avast_free_antivirus_setup.exe [siguiendo]
--2012-11-27 21:25:07--  http://software-files-a.cnet.com/s/software/12/80/80/71/avast_free_antivirus_setup.exe?token=1354108731_17d6ad31f187..019223&fileName=avast_free_antivirus_setup.exe
Resolviendo software-files-a.cnet.com... 23.62.63.18, 23.62.63.24
Conectando con software-files-a.cnet.com[23.62.63.18]:80... conectado.
Petición HTTP enviada, esperando respuesta...
  HTTP/1.1 200 OK
  Server: Apache
  ETag: "94e28010255d126fe7bfe4e55c06492c:1351718223"
  Last-Modified: Wed, 31 Oct 2012 21:17:02 GMT
  Accept-Ranges: bytes
  Content-Length: 97495576
  Content-Type: application/octet-stream
  Date: Wed, 28 Nov 2012 03:28:16 GMT
  Connection: keep-alive
Longitud: 97495576 (93M) [application/octet-stream]

La url (software-files-a.cnet...)  es la url real (y probablemente temporaria) del archivo.

Imagino los browsers normales usaran esta segunda url para darle nombre al archivo.

Solo se me ocurre que hagas lo mismo con mas wget y bash :D


Título: Re: Realizar wget correctamente en determinadas URLs
Publicado por: adgellida en 28 Noviembre 2012, 23:40 pm
El link directo que encuentro en el log es este:

Código:
http://software-files-a.cnet.com/s/software/12/80/80/71/avast_free_antivirus_setup.exe

El cual está encubierto aquí:

Código:
http://software-files-a.cnet.com/s/software/12/80/80/71/avast_free_antivirus_setup.exe?token=1353833494_3d1ff96f823258b81294b512b83efd00&lop=link&ptype=3000&ontid=2239&siteId=4&edId=3&spi=4bf9b7e295aa05d256f0496aff6f8049&pid=12808071&psid=10019223&fileName=avast_free_antivirus_setup.exe

Es decir tuve que cogerlo antes de "?". Por tanto ya sé que son links que redireccionan a otros y cómo obtener el link directo con wget:

Código:
wget -S -O avast.exe "http://dw.com.com/redir?edId=3&siteId=4&oId=3000-2239_4-10019223&ontId=2239_4&spi=4bf9b7e295aa05d256f0496aff6f8049&lop=link&tag=tdw_dltext&ltype=dl_dlnow&pid=12808071&mfgId=85737&merId=85737&pguid=ULFPkAoOYI8AACN1Ni4AAAFD&destUrl=http%3A%2F%2Fsoftware-files-a.cnet.com%2Fs%2Fsoftware%2F12%2F80%2F80%2F71%2Favast_free_antivirus_setup.exe%3Ftoken%3D1353833494_3d1ff96f823258b81294b512b83efd00%26lop%3Dlink%26ptype%3D3000%26ontid%3D2239%26siteId%3D4%26edId%3D3%26spi%3D4bf9b7e295aa05d256f0496aff6f8049%26pid%3D12808071%26psid%3D10019223%26fileName%3Davast_free_antivirus_setup.exe" -o log2.txt

Gracias!