Baixando um arquivo no PowerShell


1

Eu estou tentando executar um script no PowerShell para baixar um arquivo de uma página da web.

Comando sendo usado é:

wget 'http://AnyWeb.com/test/test.txt' -outfile 'F:\junk\TEST2.txt'

O comando é executado, mas baixa apenas parte do arquivo e pára o download.

Eu também tentei o seguinte e o mesmo resultado:

$url = 'http://AnyWeb.com/test/test.txt'
$output = 'F:\junk\test2.txt'
$start_time = Get-Date
Invoke-WebRequest -Uri $url -OutFile $output
Write-OutPut "Time taken: $((Get-Date).Subtract($Start_time).Seconds) second(s)"

Alguma idéia de por que iria parar de baixar?


1
Isso deve ser OK, sugiro rodar o Wireshark e iniciá-lo capturando com o filtro: http.request.full_uri == "http://AnyWeb.com/test/test.txt". Eu acho que você precisa atualizar isso. Quando isso falhar. Pare a captura, clique com o botão direito no resultado filtrado e escolha "Follow - & gt; TCP Stream". Você vê o servidor talvez redefinindo a conexão? Ele sempre pára no mesmo ponto? Você já tentou alguns downloads de amostra, por exemplo? http://ipv4.download.thinkbroadband.com/5MB.zip. O mesmo resultado?
HelpingHand

Se eu abrir o Powershell e digitar ou colar a linha (ou seja, não executar em um script), ela funcionará bem e fará o download do arquivo inteiro. Quando executado com o script, o arquivo sempre para no mesmo ponto. O tamanho total do arquivo é superior a 49Mb e apenas cerca de 180K downloads.
Frank

O uso desse arquivo sofre o mesmo problema: http://ipv4.download.thinkbroadband.com/50MB.zip
HelpingHand

O wget funcionava como entrada manual no Powershell e em um arquivo PS1.
Frank

Eu vou tocar mais um pouco. Eu posso ter estragado o arquivo PS1. Vou tentar novamente e postar meus resultados.
Frank

Respostas:


1

Você parece estar usando uma das três sugestões deste artigo.

3 maneiras de baixar arquivos com o PowerShell

https://blog.jourdant.me/post/3-ways-to-download-files-with-powershell

Você já tentou os outros? Você encontrou o mesmo problema com os dois outros métodos?

Não que o que você está usando deva ser problemático (eu pessoalmente nunca tive problema com esse método - embora eu não use mais isso de preferência para o caminho .NET para o ganho de desempenho), mas uma verificação de integridade usando os outros métodos pode aponte o caminho.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.