如何通过http命令行下载文件?


Answers:


17

如果您安装了PowerShell ...

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

2
对于那些不熟悉此呼叫的人请注意。第一个参数是要下载的文件,第二个参数是将文件另存为本地文件的内容。
约翰·

3
由于某种原因,这直到我在本地保存路径的地方都对我不起作用:(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 2013年

由于SSH无法在同一终端内交互启动,因此通过SSH工作是一个问题。我不得不运行powershell "your command with quotes escaped by a backslash"以使其工作。
akostadinov



0

我喜欢使用Powershell方式,但是,当用于获取某些页面时,例如使用错误ssl代码(自签名或其他)的页面,您需要在调用之前首先设置期望值

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

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

如果重定向到很多次,例如f.ex,这反过来也会失败。如果它需要cookie来保存等等...

因此,可悲的是,如果没有我自己编写一个小的可执行文件,那么除了wget之外似乎还没有什么东西可以真正解决目前为止的所有情况。


如果您需要Cookie,则可能还是要通过CLI通过ToS来破坏ToS。
Daniel Widrick
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.