¿Cómo puedo descargar algo de la web directamente sin que Internet Explorer o Firefox abran Acrobat Reader / Quicktime / MS Word / lo que sea?
Estoy usando Windows, por lo que una versión de Windows de Wget funcionaría .
¿Cómo puedo descargar algo de la web directamente sin que Internet Explorer o Firefox abran Acrobat Reader / Quicktime / MS Word / lo que sea?
Estoy usando Windows, por lo que una versión de Windows de Wget funcionaría .
Respuestas:
Wget para Windows debería funcionar.
De las preguntas frecuentes de Wget Wiki :
GNU Wget es una utilidad de red gratuita para recuperar archivos de la World Wide Web utilizando HTTP y FTP, los dos protocolos de Internet más utilizados. Funciona de forma no interactiva, lo que permite trabajar en segundo plano, después de haber cerrado sesión.
Desde esta sección de preguntas frecuentes , se sugieren enlaces de descarga:
Windows binarios
cortesía de Jernej Simončič: http://eternallybored.org/misc/wget/
de sourceforge: http://gnuwin32.sourceforge.net/packages/wget.htm
[...]
En su lugar, se utiliza el enlace con cortesía de Jernej Simončič.
Una alternativa que descubrí recientemente, usando PowerShell:
$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")
Funciona también con consultas GET.
Si necesita especificar credenciales para descargar el archivo, agregue la siguiente línea en el medio:
$client.Credentials = Get-Credential
Aparecerá un mensaje de credenciales estándar de Windows. Las credenciales que ingrese allí se utilizarán para descargar el archivo. Solo necesita hacer esto una vez durante todo el tiempo que usará el objeto $ client.
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt','C:\tmp\file.txt')
Si tiene PowerShell> = 3.0, puede usar Invoke-WebRequest
Invoke-WebRequest -OutFile index.html http://superuser.com
O golf
iwr -outf index.html http://superuser.com
System.Net.WebClient
. Sin embargo, puede hacer el Invoke-WebRequest
trabajo agregando -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox
.
wget
o curl -O
, curl --remote-name
o curl -J
?)
Windows tiene su propia utilidad de descarga de línea de comandos - BITSAdmin :
BITSAdmin es una herramienta de línea de comandos que puede usar para crear trabajos de descarga o carga y monitorear su progreso.
EDITAR : 26.01.15 - Aquí está mi descripción general de cómo se puede descargar un archivo en Windows sin herramientas externas
Y un ejemplo completo de bitsadmin:
bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:\10mb.zip
Editar : 15.05.2018 - resultó que también es posible descargar un archivo con certutil :
certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip
Certutil no está instalado de forma predeterminada en XP / Win2003 pero está disponible en las versiones más nuevas de Windows. Para XP / 2003 necesitará el Paquete de herramientas de administración para Windows Server 2003
Guarde el siguiente texto como wget.js
y simplemente llame
cscript /nologo wget.js http://example.com
Este es el código:
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");
*/
Hay un cURL nativo para Windows disponible aquí . Hay muchos sabores disponibles, con y sin soporte SSL.
No necesita el equipaje extra de Cygwin y sus gustos, solo un pequeño archivo EXE.
También es importante saber que hay ambos wget
y curl
alias integrados en todas las versiones modernas de Windows Powershell. Son equivalentes
No se requieren archivos ni descargas adicionales para obtener la wget
funcionalidad:
Usando Curl In Powershell (El Sociable Geek)
Extracto:
Puede escribir un comando cURL como uno que descarga un archivo desde un repositorio de GitHub.
y parecerá que funciona, pero lo que realmente está haciendo es usar cURL como un alias. En el caso anterior, lo que sucederá es que solo obtendrá los encabezados en lugar del archivo en sí.
Los alias en PowerShell le permiten crear accesos directos para comandos más largos para que no tenga que escribirlos todo el tiempo.
Si escribe el comando Get-Alias, le dará una lista de todos los Alias que se usan en PowerShell. Como puede ver, el comando curl solo llama al comando Invoke-WebRequest. Son similares pero no iguales, por lo que la solicitud anterior no funciona para nosotros.
Para que esto funcione correctamente en PowerShell, la forma más fácil es usar variables y el -OutFile
argumento como se muestra aquí:
(nombre de archivo cortado en la imagen " https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json ")
Esta sintaxis descargará el contenido completo del archivo de destino al archivo azuredeploy.json
localnewfile.json
La principal ventaja es que está integrado en Powershell, por lo que este código se ejecutará directamente sin descargas o se requieren otras creaciones de archivos adicionales para que funcione en cualquier versión moderna de Windows.
Hice un archivo myGet.bat rápido que llama al método PowerShell descrito anteriormente.
@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
Tomé prestado algún código de Parsing URL para el nombre de archivo con espacio .
powershell.exe -Command "Invoke-WebRequest -OutFile ./file-name https://location/file-name"
<- Uso simple de PowerShell de una línea en la ubicación de codificación del archivo de script y el nombre del archivo.
Estaba buscando lo mismo, y como no tenía el privilegio de instalar ninguno de los paquetes anteriores, busqué una pequeña solución (para descargar más de 30 archivos):
firefox.exe
al principio de cada líneaProgram Files
Si PowerShell es una opción, esa es la ruta preferida, ya que (potencialmente) no tendrá que instalar nada adicional:
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t')
De lo contrario, Wget para Windows, como otros han señalado, es definitivamente la segunda mejor opción. Como se publicó en otra respuesta, parece que puede descargar Wget solo , o puede tomarlo como parte de Cygwin o MSys .
Si por alguna razón, te encuentras atrapado en un salto de tiempo, usando una máquina que no tiene PowerShell y no tienes acceso a un navegador web que funcione (es decir, Internet Explorer es el único navegador en el sistema, y su configuración están corruptos) y su archivo está en un sitio FTP (en lugar de HTTP):
start->run "FTP", press "OK".
Si la memoria funciona, ha estado allí desde Windows 98, y puedo confirmar que todavía está allí en Windows 8 RTM (es posible que deba ingresar appwiz.cpl
y agregar / quitar funciones para obtenerla). Esta utilidad puede descargar y cargar archivos a / desde sitios FTP en la web. También se puede usar en scripts para automatizar cualquiera de las operaciones.
Esta herramienta incorporada me ha salvado la vida en el pasado, especialmente en los días de ftp.cdrom.com: descargué Firefox de esa manera una vez, en una máquina completamente rota que solo tenía un acceso telefónico a Internet conexión (cuando el tamaño máximo de paquete de sneakernet todavía era 1,44 MB, y Firefox todavía se llamaba "Netscape" / me hace trollface ).
Un par de consejos: es su propio procesador de comandos y tiene su propia sintaxis. Intenta escribir "ayuda". Todos los sitios FTP requieren un nombre de usuario y contraseña; pero si permiten usuarios "anónimos", el nombre de usuario es "anónimo" y la contraseña es su dirección de correo electrónico (puede inventar una si no desea ser rastreado, pero generalmente hay algún tipo de lógica para asegurarse de que sea Una dirección de correo electrónico válida).
C:\tmp\file.tx??t
Cygwin tiene Wget (y muchas más utilidades).
También puede usar el wget
paquete en PowerShell . ; ^) Para abrir, presione la tecla de Windows y escriba "powershell" o Windows-R y escriba "powershell" y presione regresar.
No es necesaria la instalación.
Una diferencia interesante de la convencional wget
(más en ese enlace ): no puede simplemente usar el mayor que para canalizar a un archivo. wget
en PowerShell es solo un contenedor de conveniencia Invoke-WebRequest
, y debe usar su sintaxis para escribir en un archivo.
wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
-OutFile
hizo el trabajo!
Y http://www.httrack.com/ tiene una buena GUI (y es gratis), para duplicar sitios. También tiene una versión de Linux.
Puedes obtener WGet para Windows aquí . Alternativamente, puede hacer clic derecho en el enlace de descarga del elemento que desea descargar y elegir Guardar como. Esto descargará el archivo y no lo abrirá en la aplicación asignada.
Creo que instalar a wget
través de Chocolatey es la forma más fácil.
choco install wget
wget
desde la línea de comandos como en los sistemas * nix.Busque la /download
función en https://lolbas-project.github.io .
En este momento hay Bitsadmin.exe
, Certutil.exe
, Esentutl.exe
, Expand.exe, Extrac32.exe
, Findstr.exe
, Hh.exe
, Ieexec.exe
, Makecab.exe
, Replace.exe
para Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 y las versiones equivalentes del servidor.
Si desea una GUI, intente VisualWget , que en realidad está limpio y con funciones completas. Está basado en GNU Wget para su motor de descarga.
EDITAR: enlace actualizado.
Como se documenta en esta respuesta SU , puede usar lo siguiente en Powershell:
Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext
Si necesita una publicación visual para Windows, aquí hay una.
Puede publicar datos o archivos con él.