HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Web site-ok elérhetőségének ellenőrzése


Példaprogram letöltése

6341 bájt

Ha egy, vagy akár több web site-ot üzemeltetünk, vagy van egy adatbázisunk különböző linkekkel, akkor néha szükségünk lehet arra, hogy ellenőrizzük, hogy ezek jelen pillanatban elérhetők-e. A mellékelt példában egy olyan programot készítünk, amely több site ellenőrzését is el tudja végezni, és képes e-mailben illetve SMS-ben értesíteni bennünket az eredményről.
Az ellenőrzéshez a FastNet palettán található NMHTTP komponenst használjuk fel. A site-ok címeit a WebCheck.dat fájlban tároljuk. Ez egy egyszerű szöveges fájl, minden sorában egy-egy címmel. A WebCheck.ini állományban tároljuk a program beállításait. Ezek jelentése a következő:
  • timeout: egy másodpercben megadható időtartam. Ha a kérés után ennyi idő múlva sem érkezik válasz, akkor a site-ot elérhetetlennek nyilvánítjuk.
  • sendmail: ha az értéke 1, akkor e-mail-ben és/vagy SMS-ben megkapjuk az ellenőrzés eredményét. Ha ezt nem szeretnénk, akkor az értéke legyen 0. Ahhoz, hogy SMS-t is kapjunk, egy olyan e-mail címre kell küldeni az eredményt, amelyre ha üzenet érkezik, SMS-ben értesítenek bennünket. Néhány magyarországi mobilszolgáltatónál igényelhető ilyen e-mail cím.
  • host: az e-mail küldéséhez használt szerver neve.
  • from: a feladó e-mail címe.
  • to: a címzett e-mail címe, amelyikre az eredményt várjuk.
  • terminate: ha értéke 1, akkor az ellenőrzés után a program befejezi futását. Ha az eredményt a program felületéről szeretnénk leolvasni, és nem e-mail-ben megkapni, akkor állítsuk az értékét 0-ra.

Az ellenőrzéshez tehát egy NMHTTP komponenst használunk fel. A címlistát a WebCheck.dat fájlból betöltjük egy TStringList típusú objektumba, majd az NMHTTP1 komponens TimeOut property-jét beállítjuk az ini fájlban tárolt értékre. Mivel az ini fájlban másodpercben, a property-ben pedig ezredmásodpercben kell megadni az időt, ezért a beolvasott értéket meg kell szorozni ezerrel.
Egy ciklusban végigmegyünk a beolvasott címlistán, és az aktuális címet paraméterként felhasználva meghívjuk az NMHTTP1 komponens Get függvényét. A Header property értékét a Memo1, a Body property tartalmát pedig a Memo2 komponensek Text property-jébe másoljuk. Ezután ellenőrizzük, hogy a Memo1 komponens Text property-je tartalmazza-e a „200 OK” sztringet. Ha igen, akkor a letöltés sikeres volt. Az ellenőrzések eredményét a ListBox1 komponensben tároljuk.

Ha megvizsgáltuk az összes címet, akkor ellenőrizzük, hogy az eredményt el kell-e küldeni e-mailben. Az e-mail küldéséhez egy NMSMTP komponensre lesz szükség. Beolvassuk az ini fájlból a szükséges adatokat az NMSMTP1 komponens megfelelő property-jeibe, és a Subject mezőbe a ReplaceEnter függvénnyel átalakított eredménylistát, majd meghívjuk a Connect eljárást. A ReplaceEnter függvény a paraméterként átadott sztringben az enter karaktereket pontosvesszővel és szóközzel helyettesíti, és az eredménnyel tér vissza. Azért írjuk az eredménylistát a Subject (tárgy) mezőbe, mert SMS-ben csak ezt kapjuk meg.
Ha a programot a saját web site-jaink ellenőrzésére használjuk, akkor érdemes a Windows-t úgy beállítani (Ütemezett feladatok), hogy bizonyos időközönként elinduljon, így folyamatosan tájékozódhatunk róla, hogy minden rendben van-e.


Cikksorozat

#IDKategóriaCikk címeSorozat
1166DelphiOsztály hierarchia lekérdezése1. rész
1180DelphiOsztály hierarchia lekérdezése2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 512. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |