metadatos - ¿Es posible mostrar el código HTML de una página web en un archivo por lotes?
metadatos html5 (3)
Entonces, ¿desea mostrar el código fuente de una página web en la línea de la consola?
En Linux puedes usar GET google.com
.
Para mi nuevo programa quiero hacerme eco del código de una página web. Busqué en Google y Stack Overflow pero no encontré algo como esto. No quiero usar programas externos como URL2FILE o algo así.
Este código proviene de una pregunta anterior que solo necesitaba hacer la consulta al servidor (vinculada en comentarios) con la "visualización" del código fuente de la página agregado.
@if (@This==@IsBatch) @then
@echo off
rem **** batch zone *********************************************************
setlocal enableextensions disabledelayedexpansion
rem Batch file will delegate all the work to the script engine
if not "%~1"=="" (
cscript //E:JScript "%~dpnx0" %1
)
rem End of batch area. Ensure batch ends execution before reaching
rem javascript zone
exit /b
@end
// **** Javascript zone *****************************************************
// Instantiate the needed component to make url queries
var http = WScript.CreateObject(''Msxml2.XMLHTTP.6.0'');
// Retrieve the url parameter
var url = WScript.Arguments.Item(0)
// Make the request
http.open("GET", url, false);
http.send();
// If we get a OK from server (status 200), echo data to console
if (http.status === 200) WScript.StdOut.Write(http.responseText);
// All done. Exit
WScript.Quit(0);
Es solo un archivo híbrido por lotes / javascript. Guardado como callurl.cmd
y llamado como callurl "http://www.google.es"
hará lo que usted solicite. Sin verificación de error, además de la respuesta correcta, sin publicación, solo un esqueleto.
El archivo por lotes a continuación muestra en la pantalla el código HTML de la página web que figura en el parámetro, por lo que creo que es una solución a este tema.
@if (@CodeSection == @Batch) @then
@echo off
rem Start explorer with the web page and wait for it to initialize
start "" Explorer.exe %1
timeout /T 5 > NUL
rem Send to Explorer: Alt-V (View tab)...
CScript //nologo //E:JScript "%~F0" "%%V"
timeout /T 1 > NUL
rem ... followed by S (Source)
CScript //nologo //E:JScript "%~F0" "S"
goto :EOF
@end
WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0));
Use el programa anterior de esta manera:
test.bat http://www.google.com
Para más detalles, mira esta publicación .