Làm thế nào để tải tập tin qua dòng lệnh http?


9

Tôi cần tải xuống một tệp thông qua http từ dòng lệnh trên máy chủ windows 2008. Tôi đang tìm kiếm một cái gì đó giống như wget , nhưng nó phải là một công cụ tích hợp.

Có một công cụ như vậy?


PowerShell có phải là một công cụ tích hợp cho bạn không?
mailq

Có, PowerShell vẫn ổn.
steenhulthin

Câu trả lời:


17

Nếu bạn đã cài đặt PowerShell ...

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

2
Lưu ý cho những người không quen thuộc với cuộc gọi này. Đối số đầu tiên là tệp để tải xuống, đối số thứ hai là lưu tệp cục bộ.
Giăng

3
Vì một số lý do, điều này sẽ không hiệu quả với tôi cho đến khi tôi đưa con đường vào nơi lưu nó tại địa phương:(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

Làm việc trên SSH là một vấn đề vì powershell không bắt đầu tương tác bên trong cùng một thiết bị đầu cuối. Tôi đã phải chạy powershell "your command with quotes escaped by a backslash"để làm cho nó hoạt động.
akostadinov



0

Tôi sẽ nói dối để sử dụng cách powershell, tuy nhiên, khi được sử dụng để truy cập tại một số trang, như những trang có mã ssl sai lệch (tự ký hoặc khác), bạn cần đặt kỳ vọng trước khi gọi

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

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

Điều này đến lượt nó cũng sẽ thất bại, nếu nó chuyển hướng đến nhiều lần, f.ex. nếu nó cần cookie để giữ vv ...

Thật đáng buồn, nếu không tự mình viết một bản thực thi nhỏ, dường như không có gì ngoài wget mà thực sự có thể xử lý tất cả các tình huống cho đến nay ... rất thích bị sai.


Nếu bạn cần cookie, có lẽ bạn đang phá ToS bằng cách tải xuống qua CLI.
Daniel Widrick
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.