sexta-feira, 10 de fevereiro de 2012

curl não aceita de STDIN ...

Por vezes, é necessário descarregar software de microsoft.com.
Desta vez, é o WAIK (Windows Automated Installation Kit) para instalação automática de máquinas Windows 7.

O URL que surge na página de download é http://www.microsoft.com/downloads/info.aspx?na=41&SrcFamilyId=696DD665-9F76-4177-A811-39C26D3B3B34&SrcDisplayLang=pt-pt&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fA%2f9%2fF%2fA9FF888E-14CB-4F14-9CAD-1DDD752E080B%2fKB3AIK_PT.iso .
Felizmente, conseguimos perceber que o parâmetro GET u tem o que queremos: o URL direto para a ISO.

Substituindo os carateres codificados %3a e %2f por : e /, respetivamente, podemos passar o resultado ao curl. Curiosamente, não há forma aparente de termos um pipe de STDIN para o curl.

Esta é uma solução simples (tudo numa linha):

$ URL=`echo http%3a%2f%2fdownload.microsoft.com%2fdownload%2fA%2f9%2fF%2fA9FF888E-14CB-4F14-9CAD-1DDD752E080B%2fKB3AIK_PT.iso|sed -e 's/%3a/:/g' -e 's/%2f/\//g'`; curl -O $URL

Sem comentários:

Enviar um comentário