Come posso scaricare qualcosa direttamente dal Web senza che Internet Explorer o Firefox aprano Acrobat Reader / Quicktime / MS Word / qualunque cosa?
Sto usando Windows, quindi farebbe una versione Windows di Wget .
Come posso scaricare qualcosa direttamente dal Web senza che Internet Explorer o Firefox aprano Acrobat Reader / Quicktime / MS Word / qualunque cosa?
Sto usando Windows, quindi farebbe una versione Windows di Wget .
Risposte:
Wget per Windows dovrebbe funzionare.
Dalle domande frequenti su Wiki Wget :
GNU Wget è un'utilità di rete gratuita per recuperare file dal World Wide Web usando HTTP e FTP, i due protocolli Internet più utilizzati. Funziona in modo non interattivo, consentendo in tal modo il lavoro in background, dopo essersi disconnesso.
Da questa sezione delle FAQ , sono suggeriti i collegamenti per il download:
File binari di Windows
per gentile concessione di Jernej Simončič: http://eternallybored.org/misc/wget/
da sourceforge: http://gnuwin32.sourceforge.net/packages/wget.htm
[...]
Al suo posto viene utilizzato il collegamento con la cortesia di Jernej Simončič.
Un'alternativa che ho scoperto di recente, usando PowerShell:
$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")
Funziona anche con le query GET.
Se è necessario specificare le credenziali per scaricare il file, aggiungere la seguente riga tra:
$client.Credentials = Get-Credential
Verrà visualizzato un prompt delle credenziali di Windows standard. Le credenziali immesse verranno utilizzate per scaricare il file. Devi solo farlo una volta per tutte le volte che utilizzerai l'oggetto $ client.
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt','C:\tmp\file.txt')
Se hai PowerShell> = 3.0, puoi usare Invoke-WebRequest
Invoke-WebRequest -OutFile index.html http://superuser.com
O golf
iwr -outf index.html http://superuser.com
System.Net.WebClient
. Tuttavia puoi Invoke-WebRequest
aggiungere lavoro aggiungendo -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox
.
wget
o curl -O
, curl --remote-name
o curl -J
?)
Windows ha una propria utilità di download da riga di comando - BITSAdmin :
BITSAdmin è uno strumento da riga di comando che puoi utilizzare per creare lavori di download o upload e monitorarne l'avanzamento.
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:\10mb.zip
Modifica : 15.05.2018 - si è scoperto che è possibile scaricare anche un file con certutil :
certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip
Certutil non è installato per impostazione predefinita su XP / Win2003 ma è disponibile nelle versioni più recenti di Windows. Per XP / 2003 è necessario l' Admin Tool Pack per Windows Server 2003
Salva il seguente testo come wget.js
e chiama 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");
*/
C'è un cURL nativo per Windows disponibile qui . Esistono molte versioni 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 wget
e gli curl
alias integrati in tutte le versioni moderne di Windows Powershell. Sono equivalenti.
Non sono richiesti file o download aggiuntivi per ottenere wget
funzionalità:
Utilizzando Curl In Powershell (The Sociable Geek)
Estratto:
È possibile digitare un comando cURL come uno che scarica un file da un repository GitHub.
e sembrerà che funzioni, ma quello che sta effettivamente facendo è semplicemente usare cURL come alias. Nell'istanza sopra, ciò che accadrà è che otterrai solo le intestazioni invece del file stesso.
Gli alias in PowerShell ti consentono di creare collegamenti per comandi più lunghi in modo da non doverli digitare sempre.
Se si digita il comando Get-Alias, verrà visualizzato un elenco di tutti gli alias utilizzati in PowerShell. Come puoi vedere, il comando curl chiama semplicemente il comando Invoke-WebRequest. Sono simili ma non uguali, motivo per cui la richiesta di cui sopra non funziona per noi.
Per farlo funzionare correttamente in PowerShell il modo più semplice è usare le variabili e l' -OutFile
argomento come mostrato qui:
(nome del file tagliato nell'immagine " https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json ")
Questa sintassi scaricherà l'intero contenuto del file di destinazione nel file azuredeploy.json
localenewfile.json
Il vantaggio principale è che è integrato in Powershell stesso, quindi questo codice verrà eseguito direttamente senza download o sono necessarie altre creazioni di file extra per farlo funzionare su qualsiasi versione moderna di Windows.
Ho creato un rapido 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 dall'URL di analisi per il nome file con spazio .
powershell.exe -Command "Invoke-WebRequest -OutFile ./file-name https://location/file-name"
<- Semplice utilizzo di una riga di PowerShell nella posizione di codifica del file di script e nel nome file.
Stavo cercando lo stesso, e dato che non avevo il privilegio di installare nessuno dei pacchetti sopra, ho optato per una piccola soluzione (per scaricare oltre 30 file):
firefox.exe
all'inizio di ogni rigaProgram Files
Se PowerShell è un'opzione, questa è la route preferita, poiché (potenzialmente) non dovrai 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 per Windows, come altri hanno sottolineato, è sicuramente la seconda opzione migliore. Come pubblicato in un'altra risposta sembra che tu possa scaricare Wget da solo , oppure puoi prenderlo come parte di Cygwin o MSys .
Se per qualche motivo, ti trovi bloccato in una distorsione temporale, usando una macchina che non ha PowerShell e non hai accesso a un browser Web funzionante (ovvero, Internet Explorer è l'unico browser sul sistema e le sue impostazioni sono danneggiati) e il tuo file si trova su un sito FTP (al contrario di HTTP):
start->run "FTP", press "OK".
Se la memoria serve è presente da Windows 98 e posso confermare che è ancora presente in Windows 8 RTM (potrebbe essere appwiz.cpl
necessario accedere e aggiungere / rimuovere funzionalità per ottenerlo). Questa utility può sia scaricare sia caricare file da / verso siti FTP sul web. Può anche essere utilizzato negli script per automatizzare entrambe le operazioni.
Questo strumento incorporato è stato un vero salvavita per me in passato, soprattutto ai tempi di ftp.cdrom.com - ho scaricato Firefox in quel modo una volta, su una macchina completamente rotta che aveva solo una connessione Internet connessione (quando la dimensione massima del pacchetto di sneakernet era ancora 1,44 MB e Firefox era ancora chiamato "Netscape" / me fa trollface ).
Un paio di suggerimenti: è il suo processore dei comandi e ha una sua sintassi. Prova a digitare "aiuto". Tutti i siti FTP richiedono un nome utente e una password; ma se consentono agli utenti "anonimi", il nome utente è "anonimo" e la password è il tuo indirizzo e-mail (puoi crearne uno se non vuoi essere monitorato, ma di solito c'è una sorta di logica per assicurarti che sia un indirizzo email valido).
C:\tmp\file.tx??t
E http://www.httrack.com/ ha una bella interfaccia grafica (ed è gratuita), per il mirroring dei siti. Ha anche una versione Linux.
È inoltre possibile utilizzare il wget
pacchetto in PowerShell . ; ^) Per aprire, premi il tasto Windows e digita "powershell" o Windows-R e digita "powershell" e premi invio.
Nessuna installazione necessaria.
Una differenza interessante dal convenzionale wget
(più a quel link ): Non si può semplicemente utilizzare il maggiore di convogliare in un file. wget
in PowerShell è solo un comodo wrapper per Invoke-WebRequest
, ed è necessario utilizzare la sua sintassi per scrivere su un file.
wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
-OutFile
fatto il lavoro!
Puoi ottenere WGet per Windows qui . In alternativa, è possibile fare clic con il pulsante destro del mouse sul collegamento di download dell'elemento che si desidera scaricare e selezionare Salva con nome. Questo scaricherà il file e non lo aprirà nell'applicazione assegnata.
Penso che l'installazione wget
tramite Chocolatey sia il modo più semplice.
choco install wget
wget
dalla riga di comando come sui sistemi * nix.Cerca la /download
funzione 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
per Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 e le versioni server equivalenti.
Se si desidera una GUI, provare VisualWget , che in realtà è pulito e pieno di funzionalità. Si basa su GNU Wget per il suo motore di download.
EDIT: link aggiornato.
Come documentato in questa risposta SU , è possibile utilizzare quanto segue in Powershell:
Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext
Se hai bisogno di un post visivo per Windows, eccone uno.
Puoi pubblicare dati o file con esso.