Wget / cURL alternatif asli untuk Windows?


60

Apakah ada utilitas baris perintah tipe Wget atau cURL yang asli untuk Windows Vista ? Bagaimana cara kerjanya?


Bahkan Microsoft mendistribusikan wget.exedalam Paket Administrasi IIS.
paradroid


1
Menggunakan curl hanya untuk mengunduh hal-hal seperti menggunakan vim hanya untuk fitur regex dan kemudian mengatakan pertanyaan tentang vim adalah duplikat untuk pertanyaan tentang regex. Ya, mengunduh file data adalah bagian besar dari HTTP, tetapi itu bukan tujuan utamanya.
erikbwork

Oktober 2017 dengan Windows 8.1: wget dan curl termasuk dalam PowerShell, seperti yang ditunjukkan di sini: stackoverflow.com/questions/33364752/…
SDsolar

Tidak, * nix versi wgetdan curltidak termasuk dalam PowerShell. PowerShell Invoke-WebRequestcmdlet ini alias karena keduanya wgetdan curl. Ini berfungsi sama untuk permintaan yang sangat mendasar, tetapi memiliki parameter yang jauh berbeda.
Mashmagar

Jawaban:


32

Asli ke Windows (sudah diinstal sebelumnya dan tergantung pada layanan Windows Intelligent Transfer Service (BITS):

BITSAdmin

Itu dapat melakukan apa yang Wget lakukan, dan mungkin lebih (Anda dapat mengontrol pekerjaan yang sedang berlangsung melalui perintah seperti API - misalnya Anda bisa mendapatkan kecepatan status dan membatalkan jika terlalu lambat).

Contoh penggunaan dari pengalaman saya sendiri (Anda dapat melakukan unduhan paralel di .bat yang sama, atau melakukan unduhan berurutan di pekerjaan yang sama):

bitsadmin /create thisissomejobname

bitsadmin /addfile thisissomejobname http://kakao.ro/Pictures.iso C:\john_pictures.iso

bitsadmin /SetCredentials thisissomejobname Server BASIC somehttpuser somehttppassword

bitsadmin /resume thisissomejobname

REM how to get status:
bitsadmin /info thisissomejobname

Catatan: Ini berfungsi pada Windows XP, 7, 8 & 10 (diuji pada Windows 10 Pro). Pada Windows XP itu harus diinstal secara manual dari Alat Dukungan SP2 .

Pada Windows 10 terbaru, peringatan penghentian sudah hilang, jadi sepertinya alat yang berguna ini ada di sini untuk tinggal.


2
periksa / SetNotifyCmdLine opsi jika Anda perlu menggunakan perintah ini secara berurutan dalam .bat
Tiberiu-Ionuț Stan

5
Menjalankan bitsadmin di bawah Windows 7 menampilkan peringatan berikut: BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows. Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.Pengguna berhati-hatilah.
yop83

"Alat administratif untuk layanan BITS sekarang disediakan oleh cmdlet BITS PowerShell." Tidak banyak yang harus diwaspadai. Hanya klien BITS yang ditinggalkan, sementara layanan BITS akan tetap. Ini akan dapat diakses dengan yang lain, fungsionalitas yang serupa, klien (PowerShell akan datang terinstal dengan versi Windows yang akan datang).
Tiberiu-Ionuț Stan

Catatan: Klien bitsadmin hadir di Windows 8, dengan peringatan penghentian yang sama.
Tiberiu-Ionuț Stan

2
Ini terlihat seperti alternatif bagi pengelola unduhan, bukan ke pembuat permintaan HTTP, bukan?
erikbwork

18

PowerShell v3 CTP1 hadir dengan perintah seperti wget / curl. Itu disebut Invoke-WebRequest . Untuk mempelajari lebih lanjut, Anda dapat mengunjungi posting Windows Powershell V3 termasuk perintah seperti wget / curl .


2
Saya melihat superuser.com/a/25540/106977 dan superuser.com/a/330754/106977 merujuk pada perintah Powershell. Saya belum mencoba keduanya, tetapi tautan itu terkait dengan posting ini.
bgoodr

Ini adalah utilitas yang luar biasa dan dilengkapi dengan Windows Server 2012 R2.
sfuqua


Seperti yang saya tahu, Invoke-WebRequesttidak dapat mengabaikan kesalahan sertifikat (fitur yang sangat berguna untuk pengembang). Setidaknya dalam versi 3.0
maxkoryukov

Saya tidak bisa Invoke-WebRequestmengabaikan kesalahan sertifikat di PowerShell 5.1, tetapi dokumentasi di PowerShell 6 menyertakan SkipCertificateChecktanda: docs.microsoft.com/en-us/powershell/module/…
Mashmagar

11

Saya sering menggunakan PowerShell untuk hal-hal sederhana, seperti DownloadString WebClient :

$wc = New-Object Net.WebClient
$wc.DownloadString('...')

Atau DownloadFilejika Anda ingin sesuatu yang diunduh suka wgetlakukan dan paketkan itu ke suatu fungsi. Tentu saja, ini sangat kasar dan tidak akan memiliki fitur seperti unduhan yang dapat dilanjutkan dan serupa.


Menggunakan DownloadFile. itu bekerja ketika saya mencoba (PowerShell 2.0): $wc.DownloadFile('http://traffic.libsyn.com/makingembeddedsystems/embedded-ep149.mp3', 'EmbeddedFm_149.mp3'). Namun, tidak ada informasi kemajuan selama pengunduhan.
Peter Mortensen

@PeterMortensen: Tentu saja tidak. Itu hanya objek .NET. Anda dapat melampirkan pengendali acara DownloadProgressChanged. Tapi saya rasa Anda juga perlu menggunakan varian metode async.
Joey

6

Sepertinya Anda hanya perlu mengunduh peramban alternatif. Anda dapat menggunakan perintah ini untuk mengunduh Mozilla Firefox dengan command prompt:

explorer.exe http://releases.mozilla.org/pub/mozilla.org/firefox/releases/6.0.2/win32/en-US/Firefox%20Setup%206.0.2.exe

Ini juga meluncurkan Internet Explorer, tetapi hanya dengan serangkaian fitur dasar. Ini akan berfungsi bahkan jika Internet Explorer rusak (dalam banyak kasus).

Anda juga dapat menggunakan perintah FTP. Ketik yang berikut ini ke dalam command prompt:

  1. Jenis FTP- Yang membuka klien FTP
  2. Jenis open ftp.mozilla.org- Yang terhubung ke Mozilla-FTP
  3. Cukup login sebagai Anonim dan gunakan kata sandi kosong.
  4. Ketik cd /pub/mozilla.org/firefox/releases/4.0.1/win32/en-US/-Untuk mengubah direktori
  5. Jenis recv "Firefox Setup 4.0.1.exe"- Untuk mengunduh penginstal Firefox. File ini terletak di folder saat ini dari prompt perintah. (biasanya Profilefolder Anda )
  6. Ketik byeuntuk menutup klien FTP
  7. Ketik exituntuk menutup prompt perintah.

3
Jawaban yang bagus, tetapi sama sekali tidak terkait dengan pertanyaan yang diajukan.
Antimony

4
Um Tampaknya topikal dan contoh menggunakan explorer.exe sebagai alternatif.
Michael Cole

6

Tidak ada alternatif Wget sebenarnya. Anda dapat menggunakan Wget untuk Windows dan menetapkan lintasan di variabel lingkungan Anda untuk membuatnya berfungsi seperti yang Anda inginkan.


1
Masalahnya adalah, orang yang bekerja dengan saya mendapatkan pembekuan browser saat diluncurkan, dan mereka tidak memiliki akses ke komputer lain.
Jordan

2
Jika mereka menggunakan ethernet, buat mereka boot ke mode aman dengan jaringan?
Sandeep Bansal

2

Curl asli untuk Windows tersedia di sini . Ada banyak rasa yang tersedia - dengan dukungan SSL, tanpa dukungan SSL. Anda tidak perlu bagasi ekstra Cygwin dan sejenisnya, cukup satu file EXE kecil.


1

Saya hanya menggunakan Cygwin dan menginstal perpustakaan yang diinginkan ... Saya selalu melakukan itu ...

Di masa lalu, saya mencari alternatif, ya. Tetapi Cygwin hanyalah alat terbaik untuk pekerjaan itu.


2
Kecuali itu terlalu banyak menginstal gazillions file untuk instalasi Cygwin khas hanya untuk mendapatkan Wget.
Peter Mortensen

Anda mendapatkan wget, keriting, ... dan banyak lagi. Saya kira jika Anda perlu wget Anda mungkin akan menggunakan beberapa alat linux tambahan di masa depan :) - pasti bukan screnario setiap hari
NicoJuicy

1

Saya sudah membuat sendiri. Lihat di https://github.com/acarrilho/global (di bagian bawah halaman).

Unduh sumbernya dan, menggunakan cmd.exe, navigasikan ke folder pemohon. Dari sana, cukup ketik httpuntuk melihat semua pengaturan yang tersedia. Sebagai contoh:

http -u "http://www.example.com" -oc
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.