Avatar billede spectual Nybegynder
13. august 2002 - 19:33 Der er 9 kommentarer og
1 løsning

Hente hjemmeside

Jeg skal ha lavet et lille program der går ud og tjekker indholdet af en hjemmeside for om den har ændret sig.

Kan nogen komme med nogle forslag til hvordan det kan gøres?
Avatar billede hermandsen Juniormester
13. august 2002 - 20:28 #1
Hent Indy-komponenterne og brug en eller anden download-funktion... Så kan du bare gemme den seneste fil og så hente en ny og sætte dem begge ind i en stringlist og derefter sammenligne dem... :)

Jeg har endnu ikke selv brugt Indy, men det skulle vist sagtens kunne lade sig gøre... Ellers mener jeg der er en funktion i Delphi der hedder URLDownload eller noget...

Så har du de to filer...

function ErSideDenSamme(GammelFil, NyFil: String): Boolean;
var
  sl1, sl2: TStringList;
  I: Integer;
begin
  sl1 := TStringList.Create;
  sl1.LoadFromFile(GammelFil);
  sl2 := TStringList.Create;
  sl2.LoadFromFile(NyFil);
  Result := sl1.Count = sl2.Count;
  if not Result then Exit;
  for I := 0 to sl1.Count do
  begin
    Result := sl1.Strings[I] = sl2.Strings[I];
    if not Result then Break;
  end;
end;

Noget i den retning kunne jeg da forestille mig... Ellers kan du bruge den CheckSum som borrisholt har lavet... Mener dog ikke at den sammenligner hele filen, så hvis f.eks. kun noget i slutningen af filen er ændret, så duer det jo ikke... :)
Avatar billede stoney Nybegynder
13. august 2002 - 20:49 #2
Vil du bare downloade html koden og sammenligne ?
Skal den også tage hensyn til frames ?

Stoney
Avatar billede spectual Nybegynder
13. august 2002 - 20:51 #3
nej.. ingen frames. hvis det virker er det alle pointene værd :o) tester det når jeg får tid ;)
Avatar billede hermandsen Juniormester
13. august 2002 - 21:10 #4
Her er noget om at downloade filer fra nettet:
http://www.swissdelphicenter.com/en/showcode.php?id=412

Du behøver ikke en gang Indy! :)
Avatar billede spectual Nybegynder
13. august 2002 - 21:12 #5
ok ok... tak for dit bud :o)
Avatar billede spectual Nybegynder
13. august 2002 - 21:15 #6
kan man egentlig ikke bare bruge en helt alm. delphi clientsocket komponent til at lave en forbindelse til serveren på port 80 og sende en HTTP get kommando?

Det kan man vel, men hvad skal man mon sende?
Avatar billede hermandsen Juniormester
13. august 2002 - 21:20 #7
Hmmm... Pas! Har ikke leget så meget med programmer til internettet, men faldt lige over ovenstående link, så tænkte bare at den kunne være til nytte! :)
Avatar billede cms Nybegynder
13. august 2002 - 22:53 #8
Spectual> Brug endelig hermandsens link. Det er pisse nemt (kræver ingen kode) at bruge UrlMoniker. Se evt. på MSDN's library.
http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/URLDownloadToFile.asp?frame=true
Avatar billede spectual Nybegynder
14. august 2002 - 00:02 #9
super super super!!! det virker jo perfekt som en ko's patter. 1000 tak for en god hjælp :O)
Avatar billede cork Nybegynder
15. august 2002 - 16:17 #10
"det virker jo perfekt som en ko's patter"
Det lyder ikke rart :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester