Caracteres aparentemente aleatórios nos arquivos de saída do wget

1

Estou usando wget para criar um backup de um site em execução no meu computador. O comando que estou usando é:

wget -rkE http://localhost/mpmf/www/dev

Portanto, isso funciona muito bem, mas na parte superior e inferior de cada arquivo há alguns caracteres aleatórios. Por exemplo, a primeira linha de index.html é 4c11 e a última linha é apenas 0 . Parece que muitos dos arquivos terminam com 0 , mas eu não verifiquei cada um deles para ver se é esse o caso.

Parece que pode haver algum motivo para que wget esteja fazendo isso. Eu pensei que poderia ter algo a ver com a maneira como ele atravessa o site recursivamente, mas eu não sei. Então, há uma maneira de fazer isso sem essas linhas extras em meus arquivos?

    
por seth 22.03.2011 / 19:25

2 respostas

1

Estes são marcadores de pedaços de HTTP Codificação de transferência em partes , conforme definido em RFC 2616 . Eles são números hexadecimais que indicam o tamanho do pedaço que se segue.

O suporte para codificação de transferência em partes é necessário no HTTP / 1.1. No entanto, o Wget apenas faz solicitações HTTP / 1.0 - e parece que o seu servidor web está ignorando a versão do pedido e retornando uma resposta HTTP / 1.1, violando RFC 2145 .

    
por 22.03.2011 / 19:47
1

Sim, é permitido que os servidores respondam a solicitações HTTP / 1.0 com respostas HTTP / 1.1, desde que evitem recursos específicos de HTTP / 1.1 (como codificação em partes).

Não é apenas o topo e o fundo dos seus arquivos, pelo menos potencialmente. Você também pode encontrar esses cabeçalhos espalhados pelo arquivo (tornando um arquivo bastante corrompido).

Sem saber os detalhes da configuração do seu servidor, eu não poderia falar por que uma das suas configurações do Apache / PHP ignora a versão HTTP solicitante do wget, e a pessoa a respeita.

No entanto, observarei que as fontes de desenvolvimento atuais (que eventualmente serão wget 1.12.1, eu acho) incluem suporte para solicitações HTTP / 1.1 e conteúdo em partes. Não há pacotes deb disponíveis para isso, mas se você está acostumado a construir a partir de fontes, isso é uma opção. O último pacote fonte de teste (mais fácil de compilar, senão você tem que pegar um conjunto de pré-requisitos) está em ftp://alpha.gnu.org/gnu/wget/wget-1.12-2460.tar.bz2 , e atualizado pela última vez em 16 de março.

    
por 24.03.2011 / 21:21

Tags