2009-08-19 11:40:48 +0000 2009-08-19 11:40:48 +0000
372
372
Advertisement

Come scaricare file da riga di comando in Windows come wget o curl

Advertisement

Come posso scaricare qualcosa dal web direttamente senza Internet Explorer o Firefox aprendo Acrobat Reader/Quicktime/MS Word/what?

Sto usando Windows, quindi una versione Windows di Wget andrebbe bene.

Advertisement

Risposte (19)

323
323
323
2011-09-01 13:25:11 +0000

Un'alternativa che ho scoperto di recente, utilizzando PowerShell:

$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")
``` ```
$client.Credentials = Get-Credential

Funziona anche con le query GET.

Se è necessario specificare le credenziali per scaricare il file, aggiungere la seguente riga tra:

&001 &001

Verrà visualizzato un prompt con le credenziali standard di Windows. Le credenziali inserite verranno utilizzate per scaricare il file. È necessario farlo una sola volta per tutto il tempo in cui si utilizzerà l'oggetto $client.

187
187
187
2009-08-19 11:45:59 +0000

Wget per Windows dovrebbe funzionare.

Dalla Wget Wiki FAQ :

GNU Wget è una utility di rete gratuita per recuperare file dal World Wide Web usando HTTP e FTP, i due protocolli Internet più usati. Funziona in modo non interattivo, permettendo così di lavorare in background, dopo essersi disconnessi.

Da questa sezione delle FAQ , si suggeriscono i link per il download:

Windows Binaries

Viene invece utilizzato il link per gentile concessione di Jernej Simončič.

95
Advertisement
95
95
2014-05-17 19:15:46 +0000

Se avete PowerShell >= 3.0, ci potete Invoke-WebRequest

Invoke-WebRequest -OutFile index.html http://superuser.com

o golfed

iwr -outf index.html http://superuser.com

Scaricare un file via HTTP in Windows

64
64
64
2011-12-30 17:40:02 +0000

Windows ha una propria utility per il download da riga di comando - BITSAdmin :

BITSAdmin è uno strumento a riga di comando che si può usare per creare lavori da scaricare o caricare e monitorare i loro progressi.

EDIT : 26.01.15 - Ecco la mia panoramica di come un file può essere scaricato su windows senza strumenti esterni

e un esempio completo di bitsadmin:

bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:0mb.zip

Edit : 15.05.2018_ - è risultato che è possibile scaricare un file con certutil :

certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip

Certutil non è installato di default su XP/Win2003 ma è disponibile nelle versioni più recenti di windows.per XP/2003 è necessario il Admin Tool Pack per windows server 2003

33
Advertisement
33
33
2013-01-15 07:03:23 +0000

Salvare il seguente testo come wget.js e chiamare semplicemente

cscript /nologo wget.js http://example.com

Questo è il codice:

var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
WinHttpReq.Open("GET", WScript.Arguments(0), /*async=*/false);
WinHttpReq.Send();
WScript.Echo(WinHttpReq.ResponseText);

/* To save a binary file use this code instead of previous line
BinStream = new ActiveXObject("ADODB.Stream");
BinStream.Type = 1;
BinStream.Open();
BinStream.Write(WinHttpReq.ResponseBody);
BinStream.SaveToFile("out.bin");
*/
22
22
22
2013-03-02 13:30:36 +0000

Ho fatto un veloce file myGet.bat che chiama il metodo PowerShell descritto sopra.

@Echo OFF
SetLocal EnableDelayedExpansion
Set Var=%1
Set Var=!Var:http://=!
Set Var=!Var:/=,!
Set Var=!Var:%%20=?!
Set Var=!Var: =?!
Call :LOOP !var!
Echo.Downloading: %1 to %~p0!FN!
powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('%1','%~p0!FN!')
GoTo :EOF
:LOOP
If "%1"=="" GoTo :EOF
Set FN=%1
Set FN=!FN:?= !
Shift
GoTo :LOOP

Ho preso in prestito del codice da Parsing URL per il nome del file con spazio _.

22
Advertisement
22
22
2012-10-27 14:16:23 +0000

C'è un cURL nativo per Windows disponibile qui . Ci sono molti gusti disponibili - con e senza supporto SSL.

Non è necessario il bagaglio extra di Cygwin e simili, solo un piccolo file EXE.


È anche importante sapere che ci sono entrambi gli alias wget e curl integrati in tutte le versioni moderne di Windows Powershell. Sono equivalenti.

** Non sono richiesti file o download extra per ottenere le funzionalità di wget:** Usando Curl In Powershell (The Sociable Geek)

Estratto:

È possibile digitare un comando cURL come quello che scarica un file da un repository GitHub.

curl http://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json (https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json)

e sembrerà che funzioni, ma in realtà sta solo usando cURL come alias. Nel caso di cui sopra, quello che succederà è che si otterranno solo le intestazioni invece del file stesso.

Alias in PowerShell permettono di creare scorciatoie per comandi più lunghi in modo da non doverli digitare sempre.

Se si digita il comando Get-Alias, si otterrà una lista di tutti gli Alias che vengono utilizzati in PowerShell. Come potete vedere, il comando curl chiama semplicemente il comando Invoke-WebRequest. Sono simili ma non uguali, per questo motivo la richiesta di cui sopra non funziona per noi.

Per far sì che questo funzioni correttamente in PowerShell il modo più semplice è quello di usare le variabili e l'argomento -OutFile come mostrato qui:

&005 &005

(nome del file tagliato nell'immagine [ https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy. json ]&003")

Questa sintassi scaricherà l'intero contenuto del file di destinazione azuredeploy.json nel file locale newfile.json


Il vantaggio principale è che è integrato in Powershell stesso, quindi questo codice verrà eseguito direttamente senza download o qualsiasi altra creazione di file extra sono necessari per farlo funzionare su qualsiasi versione moderna di Windows.

8
8
8
2013-04-09 08:13:58 +0000

Stavo cercando lo stesso, e siccome non avevo il privilegio di installare nessuno dei pacchetti di cui sopra, ho fatto un piccolo workaround (per scaricare 30+file):

  • Ho creato un file batch
  • Ho elencato tutti i file
  • Ho messo firefox.exe all'inizio di ogni riga
  • Sono andato nella directory di firefox in Program Files
  • L'ho fatto girare.
4
Advertisement
4
4
2017-02-01 14:06:11 +0000

Si potrebbe anche utilizzare il pacchetto wget confezionato in PowerShell . ;^) Per aprire, premere il tasto Windows e digitare “powershell” o Windows-R e digitare “powershell” e premere return.

Non è necessaria alcuna installazione.

Una differenza interessante rispetto al convenzionale wget (più a quel link ): Non si può semplicemente usare il più grande di un file. wget in PowerShell è solo un involucro di convenienza per Invoke-WebRequest, e bisogna usare la sua sintassi per scrivere su un file.

wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
4
4
4
2012-10-22 05:48:35 +0000

Se PowerShell è un'opzione, questa è la via preferita, dato che non dovrete (potenzialmente) installare nulla in più:

(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t')

In caso contrario, Wget for Windows, come altri hanno sottolineato, è sicuramente la seconda opzione migliore. Come postato in un'altra risposta sembra che si possa scaricare Wget tutto da solo , oppure lo si può prendere come parte di Cygwin o MSys .

Se per qualche ragione, ti trovi bloccato in un time warp, usando una macchina che non ha PowerShell e hai zero accesso ad un browser web funzionante (cioè Internet Explorer è l'unico browser del sistema, e le sue impostazioni sono corrotte), e il tuo file è su un sito FTP (al contrario di HTTP):

start->run "FTP", press "OK".

Se la memoria è utile, è presente sin da Windows 98, e posso confermare che è ancora presente in Windows 8 RTM (potrebbe essere necessario andare in appwiz.cpl e aggiungere/rimuovere le funzioni per ottenerlo). Questa utility può sia scaricare che caricare file da/per i siti FTP sul web. Può anche essere usata negli script per automatizzare entrambe le operazioni.

Questo strumento essendo incorporato è stato un vero e proprio salvavita per me in passato, specialmente ai tempi di ftp.cdrom. com – Ho scaricato Firefox in questo modo una volta, su una macchina completamente rotta che aveva solo una connessione Internet dial-up (quando la dimensione massima dei pacchetti di sneakernet era ancora 1,44 MB, e Firefox si chiamava ancora “Netscape” /me does trollface).

Un paio di consigli: è il suo processore di comando, e ha la sua sintassi. Provate a digitare “help”. Tutti i siti FTP richiedono un nome utente e una password; ma se permettono utenti “anonimi”, il nome utente è “anonimo” e la password è il vostro indirizzo email (potete inventarne uno se non volete essere rintracciati, ma di solito c'è una sorta di logica per assicurarsi che sia un indirizzo email valido).

3
Advertisement
3
3
2019-06-02 21:52:23 +0000

Cerca la funzione /download su https://lolbas-project.github.io .

In questo momento ci sono Bitsadmin.exe, Certutil.exe, Esentutl.exe, Expand.exe, Extrac32.exe, Findstr.exe, Hh.exe, Ieexec.exe, Makecab.exe, Replace.exe, &007, &007, &007 per Windows vista, Windows 7, Windows 8, Windows 8.1, Windows 10 e le equivalenti versioni Server.

3
3
3
2012-02-16 17:10:01 +0000

Cygwin ha Wget (e molte altre utilità).

2
Advertisement
2
2
2009-08-19 11:54:38 +0000

E http://www.httrack.com/ ha una bella GUI (ed è gratuita), per i siti mirroring. Ha anche una versione per Linux.

1
1
1
2009-08-19 11:46:49 +0000

È possibile ottenere WGet per Windows qui . In alternativa è possibile fare clic con il tasto destro del mouse sul link di download dell'articolo che si desidera scaricare e scegliere Salva con nome. Questo scaricherà il file e non lo aprirà nell'applicazione assegnata.

1
Advertisement
1
1
2018-06-17 11:29:05 +0000

Penso che l'installazione di wget via Chocolatey sia il modo più semplice.

  1. Installare Chocolatey
  2. Installare [ Chocolatey ]&003 Dalla riga di comando, digitare: choco install wget
  3. 3. Si può poi usare wget dalla linea di comando come sui sistemi *nix.
0
0
0
2018-12-05 19:27:48 +0000

Come documentato in questa risposta SU , è possibile utilizzare in Powershell:

Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext
0
Advertisement
0
0
2012-02-16 16:58:17 +0000

Se si desidera una GUI, allora provare VisualWget , che è effettivamente pulito, e completo di funzionalità. Si basa su GNU Wget per il suo motore di download.

EDIT: link aggiornato.

-1
-1
-1
2011-07-21 16:00:11 +0000

Un'alternativa all'uso di gnuwin32 è unxutils che include wget.

-3
Advertisement
-3
-3
2016-04-12 07:45:52 +0000

Se avete bisogno di un visivo Post per Windows, qui è uno. Potete pubblicare dati o file con esso.

Advertisement
Advertisement