Wget / cURL alternatif Windows'a özgü mü?


60

Windows Vista'ya özgü bir Wget veya cURL türü komut satırı yardımcı programı var mı? O nasıl çalışır?


Microsoft bile wget.exeIIS Yönetim Paketinde dağıtılmaktadır .
paradroid


1
Sadece şeyleri indirmek için curl kullanmak, sadece regex özelliği için vim kullanmak ve ardından vim hakkında bir soru söylemek, regex'ler hakkındaki bir sorunun kopyasıdır. Evet, veri dosyalarının indirilmesi, HTTP'nin büyük bir parçasıdır, ancak asıl amacı bu değildir.
erikbwork

Windows 8.1'de Ekim 2017: wget ve curl PowerShell'e burada gösterildiği gibi dahil edilmiştir: stackoverflow.com/questions/33364752/…
SDsolar

Hayır, * nix sürümleri wgetve curlPowerShell'e dahil edilmez. PowerShell Invoke-WebRequestcmdlet hem de diğer ad olarak wgetve curl. Çok temel istekler için benzer şekilde çalışır, ancak büyük ölçüde farklı parametrelere sahiptir.
Mashmagar

Yanıtlar:


32

Yerli Windows (önceden yüklenmiş olarak gelir ve Arka Plan Akıllı Aktarım Hizmeti (BITS) Windows hizmetine bağlıdır):

bitsadmin

Wget'in ne yaptığını ve muhtemelen daha fazlasını yapabilir (devam eden bir işi API benzeri komutlar üzerinden kontrol edebilirsiniz - örneğin durum hızını alabilir ve çok yavaşsa iptal edebilirsiniz).

Kendi tecrübelerime göre örnek kullanım (aynı .bat'ta paralel indirmeler yapabilir veya aynı işte sıralı indirmeler yapabilirsiniz):

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

Not: Windows XP, 7, 8 ve 10'da çalışır (Windows 10 Pro'da test edilmiştir). Windows XP'de, SP2 Destek Araçları'ndan el ile yüklenmesi gerekir .

En son Windows 10'da amortisman uyarısı gitti, bu yüzden bu kullanışlı araç burada kalıyor gibi görünüyor.


2
Bu komutu bir .bat'te sıralı olarak kullanmanız gerekiyorsa check-out / SetNotifyCmdLine seçeneği
Tiberiu-Ionuț Stan

5
Windows 7 altında bitsadmin çalıştırmak aşağıdaki uyarıyı görüntüler: 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.Kullanıcılar dikkatli olun.
yop83

"BITS hizmeti için yönetimsel araçlar artık BITS PowerShell cmdlet'leri tarafından sağlanıyor." Dikkat edilecek çok şey yok. Yalnızca BITS istemcisi kullanımdan kaldırılmış, BITS servisi kalmaya devam edecek. İşlevsellikte benzer bir müşteri ile erişilebilir olacak, istemci (PowerShell gelecekteki Windows sürümleri ile önceden yüklenmiş olarak gelecektir).
Tiberiu-Ionuț Stan

Not: bitsadmin istemcisi, aynı amortisman uyarısı ile Windows 8'de bulunur.
Tiberiu-Ionuț Stan

2
Bu, bir HTTP istek görevlisine değil indirme yöneticisine alternatif gibi görünüyor, değil mi?
erikbwork

17

PowerShell v3 CTP1, wget / curl gibi bir komutla gelir. Buna Invoke-WebRequest denir . Daha fazla bilgi için, Windows Powershell V3 include wget / curl komutunu ziyaret edebilirsiniz .


2
Ben de görmek superuser.com/a/25540/106977 ve superuser.com/a/330754/106977 Powershell komutları bakın. İkisini de denemedim, ancak bu bağlantılar bu ilanla ilişkili.
bgoodr

Bu harika bir yardımcı programdır ve Windows Server 2012 R2 ile birlikte gelir.
sfuqua


Bildiğim gibi, Invoke-WebRequestsertifika hatalarını (geliştiriciler için çok kullanışlı bir özellik) görmezden gelemiyorum. En azından 3.0 sürümünde
maxkoryukov

Invoke-WebRequestPowerShell 5.1'deki sertifika hatalarını görmezden gelemiyorum , ancak PowerShell 6'daki belgeler bir SkipCertificateCheckbayrak içeriyor : docs.microsoft.com/en-us/powershell/module/…
Mashmagar

11

PowerShell'i genellikle WebClient'in DownloadString'i gibi basit şeyler için kullanırım :

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

Ya DownloadFileda bir şey gibi indirilen istiyorsanız wgetbunu yapar ve bir işleve paketleyin. Tabii ki, bu çok zor ve yeniden başlatılabilir indirmeler ve benzerleri gibi hiçbir güzelliğe sahip olmayacak.


Kullanarak DownloadFile. Denedim (PowerShell 2.0): çalıştı $wc.DownloadFile('http://traffic.libsyn.com/makingembeddedsystems/embedded-ep149.mp3', 'EmbeddedFm_149.mp3'). Ancak indirme işlemi sırasında ilerleme bilgisi yoktur.
Peter Mortensen

@PeterMortensen: Tabii ki değil. Bu sadece bir .NET nesnesi. DownloadProgressChangedYine de bir olay işleyicisi ekleyebilirsiniz . Ama sanırım o zaman yöntemlerin zaman uyumsuz değişkenlerini de kullanmanız gerekecek.
Joey,

6

Sadece alternatif bir tarayıcı indirmeniz gerekiyor. Mozilla Firefox’u komut istemiyle indirmek için bu komutu kullanabilirsiniz:

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

Bu aynı zamanda Internet Explorer’ı da başlatıyor, ancak yalnızca temel özelliklere sahip. Internet Explorer bozuk olsa bile bu çalışmalıdır (çoğu durumda).

FTP komutunu da kullanabilirsiniz. Komut istemi komutlarına aşağıdakileri yazın:

  1. Tür FTP- FTP istemcisini açan
  2. Tür open ftp.mozilla.org- Mozilla-FTP'ye bağlanan
  3. Sadece isimsiz olarak giriş yapın ve boş bir şifre kullanın.
  4. Tür cd /pub/mozilla.org/firefox/releases/4.0.1/win32/en-US/dizini değiştirmek oluşturabilmek
  5. Tür recv "Firefox Setup 4.0.1.exe"- Firefox yükleyicisini indirmek için. Dosya, komut isteminin geçerli klasöründe bulunur. (genellikle Profileklasörünüz)
  6. Tip byeFTP istemcisi kapatmak için
  7. Tip exitKomut istemini kapatmak için.

3
Güzel cevap, ancak soruyla tamamen ilgisiz.
Antimon

4
Um. Hem topikal hem de alternatif olarak explorer.exe kullanımına örnek olarak görünüyor.
Michael Cole

6

Gerçekten Wget alternatifi yok. Wget for Windows programını kullanabilir ve istediğiniz gibi çalışmasını sağlamak için ortam değişkenlerinizdeki yolu atayabilirsiniz.


1
Sorun şu ki, birlikte çalıştığım kişi piyasaya sürüldüğünde bir tarayıcı donuyor ve başka bir bilgisayara erişemiyor.
Jordan

2
Ethernet üzerinden geçiyorlarsa, ağ oluşturmada güvenli moda geçmelerini sağlayın.
Sandeep Bansal

2

Windows için yerel cURL burada mevcuttur . SSL desteği olmadan, SSL desteği olmadan birçok lezzet mevcuttur. Cygwin'in ve bagajların fazladan bagajına ihtiyacınız yok , sadece küçük bir EXE dosyası.


1

Sadece Cygwin'i kullanır ve istenen kütüphaneleri kurardım ... Her zaman bunu yaptım ...

Geçmişte, alternatifleri araştırdım, evet. Ancak Cygwin iş için sadece en iyi araçtır.


2
Bunun dışında, sadece Wget’i elde etmek için tipik bir Cygwin kurulumu için gazilyonlarca dosya yüklemekten vazgeçilmez.
Peter Mortensen

Sen kıvrılıyorsun, kıvrılıyor ... ve çok daha fazlası. Sanırım wget'e ihtiyacınız varsa gelecekte bazı ek linux araçları kullanacaksınız :) - kesinlikle her gün bir senaryo olmasa da
NicoJuicy

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.