Testar um servidor para suporte a intervalo de bytes?

7

Podcasting com o iTunes requer suporte a solicitações de intervalo de bytes . Eu estou ajudando alguém que está tendo problemas para obter seu podcast aceito pela Apple para inclusão em sua loja iTunes, e foi sugerido que o seu servidor web não está suportando atualmente solicitações de intervalo de bytes.

A minha pergunta é: Existe alguma maneira de testar se o servidor da Web está ou não lidando corretamente com as solicitações de intervalo de bytes? Eu não tenho nenhum acesso ao servidor da web além das solicitações públicas normais. Se eu tiver o URL para um arquivo MP3 no servidor web, posso usar um navegador da web ou outra ferramenta para testar isso, talvez olhando para cabeçalhos HTTP?

    
por Ben Miller 18.10.2013 / 20:10

1 resposta

14

Este comando assume o Linux - mas provavelmente funcionaria no windows ou mac com pequenas alterações - o curl está amplamente disponível, mas pode não ser instalado no seu sistema de escolha por padrão. O arquivo de exemplo que estou recebendo é o manual curl - um URL prático;)

curl --silent --range 20-40 https://curl.haxx.se/docs/manpage.html | wc -c

Isso retorna "21" - eu pedi bytes 20-40, e depois encurtei as saídas para stdout, que canalizo para wc para contar os caracteres.

Se você obtiver uma resposta muito maior, o servidor enviou o arquivo inteiro (tente "www.youtube.com" - que exibe o índice inteiro, independentemente do intervalo que você pergunta).

Então você está procurando a mágica 21 aqui para dizer "o intervalo de bytes não é o problema".

Alternativas para Mac (mesmo que o curl no Mac pareça funcionar para mim ... talvez eu tenha instalado uma versão especial):

brew install wget
wget --header="Range: bytes=20-40" -t 1 http://www.youtube.com

Se isso falhar com um 206, significa que ele tem um intervalo. Você provavelmente poderia enviar o cabeçalho "manualmente" com o curl também.

    
por 18.10.2013 / 20:30

Tags