Como baixar arquivos pela linha de comando http?


9

Preciso fazer o download de um arquivo através de http a partir da linha de comando em um servidor Windows 2008. Estou procurando algo como o wget , mas deve ser uma ferramenta interna.

Existe tal ferramenta?


O PowerShell é uma ferramenta interna para você?
mailq

Sim, o PowerShell está ok.
steenhulthin

Respostas:


17

Se você possui o PowerShell instalado ...

(New-Object System.Net.WebClient).DownloadFile("http://icanhazip.com/","icanhazip.txt")

2
Nota para aqueles que não estão familiarizados com esta chamada. O primeiro argumento é o arquivo para download, o segundo é o que salvá-lo localmente.
John John

3
Por alguma razão isso não iria funcionar para mim até que eu incluído o caminho em que para salvá-lo localmente:(New-Object System.Net.WebClient).DownloadFile("http://download.microsoft.com/download/8/C/5/8C5EEDC7-3D72-4BB6-A55E-37F3977CD892/wpilauncher.exe","C:\wpilauncher.exe")
Chris Magnuson

Trabalhar com SSH é um problema, pois o PowerShell não inicia interativamente dentro do mesmo terminal. Eu tive que correr powershell "your command with quotes escaped by a backslash"para fazê-lo funcionar.
Akostadinov


0

Nenhum equivalente do wget embutido / padrão no Windows.


0

Eu gostaria de usar a maneira do PowerShell, no entanto, quando usado em algumas páginas, como aquelas com código SSL errôneo (autoassinado ou outro), você precisa definir as expectativas primeiro antes da chamada

[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$wc = New-Object System.Net.WebClient

$wc.DownloadFile ( "https://thesite.com/myPage", "LocalFileName.htm" )

Por sua vez, isso também falhará, se ele redirecionar para muitas vezes, por exemplo, f.ex. se precisar de cookies para guardar etc etc ...

Infelizmente, sem escrever um pequeno executável sozinho, não parece haver algo além do wget que realmente possa lidar com todas as situações até agora ... adoraria estar errado.


Se você precisar de cookies, provavelmente está quebrando o ToS baixando-o via CLI de qualquer maneira.
precisa saber é o seguinte
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.