lunes, 9 de noviembre de 2015

Script en PowerShell para comprobar página web

Tras bastante tiempo perdido buscando y no encontrando una aplicación o script que se adecue a lo que yo quería (hay muchas aplicaciones y combinaciones posibles, peor ninguna me convencía), decidí crear mi propio script para comprobar, de forma continua, cuándo una página web cambia. ¿Para qué? Pues hay muchas razones, imaginad que estáis esperando ansiosamente la salida de un producto en una web, o acabáis de realizar un examen y la nota será publicada en una página web... De esta manera no tendremos que estar pegados al PC pulsando F5 de forma continua.

Este script es muy sencillo, y se ha realizado en PowerShell:

$req = [System.Net.WebRequest]::Create("http://website.xxx")$resp = $req.GetResponse()$reqstream = $resp.GetResponseStream()$stream = new-object System.IO.StreamReader $reqstream$result = $stream.ReadToEnd()$result | out-file c:\temp\output2.txt

for(;;){
$req = [System.Net.WebRequest]::Create("http://website.xxx")$resp = $req.GetResponse()$reqstream = $resp.GetResponseStream()$stream = new-object System.IO.StreamReader $reqstream$result = $stream.ReadToEnd()$result | out-file c:\temp\output.txt

$texto1=get-content c:\temp\output2.txt$texto2=get-content c:\temp\output.txt
$resultado= compare-object $texto1 $texto2echo $resultado
if ($resultado)
{$SMTPServer = "servidor.correo.xxx"$SMTPPort = "587"$Username = "tuemail@dominio.xxx"$password="XXXXXXX"

$to = "email@destino.xxx"$subject = "Asunto"$body = "Loquequierasponer"

$message = New-Object System.Net.Mail.MailMessage$message.subject = $subject$message.body = $body$message.to.add($to)$message.from = $username
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);$smtp.EnableSSL = $true$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);$smtp.send($message)write-host "Email de alarma enviado"}else{echo "nada que enviar"}}
 Si necesitáis cualquier aclaración, no dudéis en escribirme o poner vuestra pregunta en los comentarios.

No hay comentarios:

Publicar un comentario