Gå til innhold

Program for å sjekke om en webside er oppdatert


Anbefalte innlegg

Hei, jeg fikk en liten nøtt her om dagen. Jeg mener å ha gjort dette før i linux men hvordan kan det gjøres i windows? Altså et program som går i bakgrunnen og sjekker med et visst mellomrom om en viss webside er oppdatert? Noen som har noe ferdig/lignende kode eller kan hjelpe meg på vei her? :)

Endret av Crossfire
Lenke til kommentar
Videoannonse
Annonse
Hei, jeg fikk en liten nøtt her om dagen. Jeg mener å ha gjort dette før i linux men hvordan kan det gjøres i windows? Altså et program som går i bakgrunnen og sjekker med et visst mellomrom om en viss webside er oppdatert? Noen som har noe ferdig/lignende kode eller kan hjelpe meg på vei her? :)

9171194[/snapback]

 

 

Skrev denne javakoden i full fart.

Tror den skal fungere, men kan ikke garantere noe.

 


import java.net.*;

public class WebPageCheck {

   public static void main(String[] args) {
       if (args.length == 2) {
           String first = getPage(args[0]);
           String update = first;
           while (first.equals(update)) {
               try {
                   Thread.sleep(Integer.parseInt(args[1]) * 60000);
               } catch (Exception e) {}
               update = getPage(args[0]);
           }
           System.out.println("PAGE UPDATED!");
       } else {
           System.out.println("Need two parameters (host, check interval (minutes))");
       }
   }
   
   public static String getPage(String page) {
       String in = "";
       if (page.indexOf("http://") == 0) {
           page = page.substring(7);
       }
       String host = page;
       if (page.indexOf("/") > 0) {
           host = page.substring(0, page.indexOf("/"));
           page = page.substring(page.indexOf("/"));
       } else page = "/";

       try {
           System.out.println("Connecting (" + host + ")...");
           Socket socket = new Socket(host, 80);
           System.out.println("Connected!");
           socket.getOutputStream().write(("GET " + page + " HTTP/1.1\r\nHost: " + host + "\r\n\r\n").getBytes());

           while (socket.getInputStream().available() == 0);
           while (socket.getInputStream().available() > 0) {
               byte[] b = new byte[socket.getInputStream().available()];
               socket.getInputStream().read(b);
               in += new String(b);
           }
           in = in.substring(in.indexOf("\r\n\r\n"));
           socket.close();
       } catch (Exception e) {
           System.out.println("No such host! " + host);
           System.exit(0);
       }
       return in;
   }
}

Endret av LordEirik
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...