Por que o `wget` baixa index.html em vez de um arquivo direto?

Por que o `wget` baixa index.html em vez de um arquivo direto?

Só estou tentando baixar isso, mas ele sempre redireciona para a página principal e no final é só baixar o arquivo index.html, não o arquivo que estou tentando baixar:

http://tweaking.com/files/setups/tweaking.com_windows_repair_aio.zip

Vocês sabem fazer o download corretamente? Eu usei --user-agent="firefox+linux, IE+windows, (qualquer coisa que você possa imaginar)" mas não funciona.

Esta é a saída, é a mesma com --user-agenthabilitado:

jaheaga@jaheaga:~$ wget  http://www.tweaking.com/files/setups /tweaking.com_windows_repair_aio.zip--2012-04-13 19:40:07--  http://www.tweaking.com/files/setups/tweaking.com_windows_repair_aio.zip
Resolviendo www.tweaking.com... 199.119.100.39
Conectando con www.tweaking.com[199.119.100.39]:80... conectado.
Petición HTTP enviada, esperando respuesta... 302 Found
Ubicación: http://tweaking.com [siguiente]
--2012-04-13 19:40:08--  http://tweaking.com/
Resolviendo tweaking.com... 199.119.100.39
Reutilizando la conexión con www.tweaking.com:80.
Petición HTTP enviada, esperando respuesta... 302 Moved Temporarily
Ubicación: http://www.tweaking.com [siguiente]
--2012-04-13 19:40:08--  http://www.tweaking.com/
Reutilizando la conexión con www.tweaking.com:80.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: no especificado [text/html]
Grabando a: “tweaking.com_windows_repair_aio.zip.1”

    [ <=>                                                                            ]     46.913       234K/s   en 0,2s    

2012-04-13 19:40:09 (234 KB/s) - “tweaking.com_windows_repair_aio.zip.1” guardado [46913]

Responder1

O user-agent é um bom começo, mas não é suficiente nesse caso. Outro valor de cabeçalho HTTP frequentemente verificado é 'Referer' [sic!]. VerWikipedia: referenciador HTTP.

wget tem a --referer=urlopção de especificar a página de referência. A análise do tráfego para um download bem-sucedido Wiresharkmostra que ele usou a seguinte solicitação de um sistema de teste meu:

GET /files/setups/tweaking.com_windows_repair_aio.zip HTTP/1.1
Host: www.tweaking.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://www.tweaking.com/content/page/windows_repair_all_in_one.html

Neste caso, parece que você não precisa falsificar um arquivo User-Agent.

wget --referer=http://www.tweaking.com/content/page/windows_repair_all_in_one.html  http://www.tweaking.com/files/setups/tweaking.com_windows_repair_aio.zip

Faz o truque.

informação relacionada