Ayuda sobre conectarse a internet en Batch

Iniciado por Enderman_gray, 27 Diciembre 2020, 09:52 AM

0 Miembros y 1 Visitante están viendo este tema.

Enderman_gray

Hola, buen día.

Como puedo hacer para que, cada vez que se abra un archivo de lotes (Batch o CMD), haga que entre a una cierta página de internet sin tener que abrir el navegador? Normalmente esto se usa para enviar datos de uso, como el lugar en donde se ejecute el CMD, etc.
Streuner Corporation.
CEO de USB File Resc.

MCKSys Argentina

Hola!

Puedes usar el comando start el cual abrirá el browser por defecto:

start https://www.google.com

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Enderman_gray

Cita de: MCKSys Argentina en 27 Diciembre 2020, 10:03 AM
Hola!

Puedes usar el comando start el cual abrirá el browser por defecto:

start https://www.google.com

Saludos!

Hola, gracias por responder tan pronto.

No, lo que quisiera es que, de manera silenciosa, el Batch se lograra conectar a internet sin la interacción del usuario. O sea, sin necesidad que se abra el navegador.

Una vez, vi un VBS que cada vez que lo ejecutabas, mandaba una señal a un sitio web. Pero fue hace años.
Streuner Corporation.
CEO de USB File Resc.

el-brujo

En Windows, por defecto lo máximo que se puede hacer es un start


@echo off
:start
echo Realiza una busqueda usando:
echo 1- Google
echo 2- Bing
SET /P busqueda=Escribe el termino a buscar:
SET /P buscador=Escoge el buscador
if %buscador%== 1 goto google
if %buscador%== 2 goto bing
: google
cls
start http://www.google.com/search?q=%busqueda%
goto start
: bing
cls
start http://www.bing.com/results.aspx?q=%busqueda%
goto start


Tendrás que usar  Lynx, wget, eLinks, W3M, curl, portados a Windows. Por ejemplo VisualWget

Con PowerShell se puede hacer Start-Process

Para GNU/Linux

Browsh es un navegador web moderno que sólo funciona en modo texto. Es capaz de representar en pantalla lo mismo que puede hacer un navegador moderno; HTML5, CSS3, javascript, vídeo e incluso WebGL. https://brow.sh




EdePC

Cita de: Enderman_gray en 27 Diciembre 2020, 09:52 AM
Hola, buen día.

Como puedo hacer para que, cada vez que se abra un archivo de lotes (Batch o CMD), haga que entre a una cierta página de internet sin tener que abrir el navegador? Normalmente esto se usa para enviar datos de uso, como el lugar en donde se ejecute el CMD, etc.

Que "Entre a una cierta página de Internet" es muy genérico, dependerá si quieres enviar parámetros, peticiones o descargas a esa página de Internet, normalmente puedes invocar a cURL desde Batch en Win10 para lograr ese efecto. Para manipular HTML puedes invocar a PowerShell, también está VBS pero siempre va a depender de lo que quieras lograr específicamente.

Enderman_gray

Hola a todos.

Agradezco sus prontas respuestas.

Estuve investigando, necesito algo como esto:
https://stackoverflow.com/questions/204759/http-get-in-vbs

algo como éste código. Creo que se llama http get.
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://http://www.example.com", False


¿Tienen una idea mejor? o ¿Cómo podría pasarlo a BATCH? Según veo es un VBS pero quiero trabajar a base de BATCH.
Streuner Corporation.
CEO de USB File Resc.

EdePC

Hace un tiempo estaba trabajando en un Downloader en Batch compatible con Windows XP, sirve para descargar los Certificados y su Instalador, puedes revisar justa esa parte:

Código (dos) [Seleccionar]
Echo Creating VBScript downloader ...
Echo:
(
  Echo Set xhttp = CreateObject^("MSXML2.ServerXMLHTTP"^)
  Echo Set strm = CreateObject^("ADODB.Stream"^)
  Echo xhttp.SetOption^(2^) = 13056
  Echo xhttp.open "GET", WScript.Arguments^(0^), False
  Echo xhttp.send
  Echo strm.Type = 1
  Echo strm.Open
  Echo strm.Write xhttp.ResponseBody
  Echo strm.SaveToFile WScript.Arguments^(1^), 2
  Echo strm.Close
  Echo Set xhttp = Nothing : Set strm = Nothing
) > dwn.vbs
Echo:
Echo Downloading rootsupd.exe ...
Set "url=https://web.archive.org/web/20170829230259/http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe"
CScript.exe /NoLogo dwn.vbs %url% rootsupd.exe


Como batch no tiene algo para hacer descargas innatas salvo Windows 10 que ya trae curl, pues casi siempre se echa mano de VBS, ahí lo que hace es crear el archivo dwn.vbs que justamente sirve para descargar cosas, en la última línea se hace el llamado a ese archivo creado para descargar un archivo rootsupd.exe desde la URL dada.

Al menos esa forma me ha funcionado en WinXP, Win7, Win8 y Win10, he probado otras pero resultaron incompatibles o en desuso.

MCKSys Argentina

Hola!

Para descargar archivos desde inet usando batch y los binarios de windows, puedes usar certutil:


certutil.exe -urlcache -split -f https://file-examples-com.github.io/uploads/2017/02/file_example_JSON_1kb.json archivoJSON.json


El comando anterior se baja el file con ext .json de la url dada, al directorio actual con el nombre archivoJSON.json

Ten en cuenta que es una técnica muy usada por lo cual el AV de Windows lo detectará como un intento de descarga malicioso (aún cuando certutil,exe pertenece al mismo OS).

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


EdePC

Wow, conocía CertUtil.exe para Encoding/Decoding de archivos y para Hashing pero para descargas no me fijé, se ve que hace muchas cosas ese exe :xD

Lo acabo de probar en Win7 a Win10 y funciona, WinXP no trae CertUtil.exe.

Danielㅤ

Hola, para que el antivirus no te lo detecte como malicioso o sospechoso, debes ejecutar el batch como Administrador.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!