Bir web sitesi online mı nasıl anlarım (ping olmadan)
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Bir web sitesi online mı nasıl anlarım (ping olmadan)
Merhaba
Kurları TCMB den xml olarak indiren kodum bayadır çalışıyor. gunun tarihli kur yoksa iki şans vardır. ya o gun tatildir yada site erişilemiyordur. Siste online mı ping ile deneyeyim dedim ama ping beni doğru bir yola götürmedi. internet erişimi o an sağlammı nasıl anlarım. benim istediğim http://www.tcmb.gov.tr o an erişilebilirmi değilmi bulmak ? Ping dışında bunu nasıl yaparım ?
Kurları TCMB den xml olarak indiren kodum bayadır çalışıyor. gunun tarihli kur yoksa iki şans vardır. ya o gun tatildir yada site erişilemiyordur. Siste online mı ping ile deneyeyim dedim ama ping beni doğru bir yola götürmedi. internet erişimi o an sağlammı nasıl anlarım. benim istediğim http://www.tcmb.gov.tr o an erişilebilirmi değilmi bulmak ? Ping dışında bunu nasıl yaparım ?
Üstad merhaba;mrmarman yazdı:- Tatil gününe denk gelen gün için sorgu yaptığında ne tepki alıyorsun onu irdele.
- PING veya ön sorguyla vakit kaybetmene de lüzum yok...
Bir mesaj dönüyor. girdiğiniz taitl tatil gününe denk geliyor vs diye.
Benim sorunum şu; firewall gerisindeyiz ve sıksık bağlantı sorunu yaşayabiliyoruz. bu bakımdan şöyle düşünüyorum; program nette bir yere gideibiliyor ama o günün tarihli xml ini alamıyorsa demekki tatil günüdür ve önceki güne gitmelidir.
Lüzum yokta üstad bende zaten öneri beklediğim için açtım bu threadi. sen ışığı göster biz takip edelim

- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Ne kadar sağlamdır bilmem ama böyle bir durumda benim kullandığım fonksiyon:şeklnde. İyi çalışmalar.
Kod: Tümünü seç
uses WinInet;
function InternetVarmi: Boolean;
var
State, Size: DWORD;
begin
State := 0;
Size := SizeOf(DWORD);
Result:=not(InternetQueryOption(nil, INTERNET_OPTION_CONNECTED_STATE, @State, Size) and
((State and INTERNET_STATE_DISCONNECTED_BY_USER)<>0))
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Güzel bir ön çalışma ile, kolaylıkla tarihin hafta sonuna denk gelip gelmediğini daha sorgu yapmadan tespit edebilirsin.
USES'a DateUtils eklediğinde DayOfWeek( Tarih ); fonksiyonundan dönen rakam 1'den 7'ye kadar oluyor. Bu rakamlardan 7 Cumartesiyi, 1 Pazar'ı temsil eder. Bu iki rakam varsa sorgu yaptırmana otomatik olarak gerek kalmıyor.
- Geriye Resmi Tatil Günleri kalıyor. Onu da XML ile hazırlayıp WEB sunucuna koyarsan, her yıl en az bir kere kullanıcının bunu UPDATE ederek yıllık resmi tatil günlerini locale almasını sağlarsan ön kontrol için yeterli olacaktır.
- Bu saydıklarım tatil günlerini daha sorgulamadan bilmek üzerine idi.
- Daha önce söylediğim ise sen sorgunu yapıyorsun, dönen bilgiyi parse ediyorsun ya, parse edecek bilgi yoksa ve herhangi bir connection hatası almamışsan dönen uyarıyı kullanıcılarına tercüme ederek o güne ait bilginin mevcut olmadığını mesajla verirsin demek istemiştim...
@sabanakman, verdiğin kod internet bağlantısı olup olmadığını kontrol etmeye yönelik. Lazım olan ise internet bağlantın varken, karşı tarafta browse edilecek bilgi olup olmadığı yönünde...
Başarılar...
USES'a DateUtils eklediğinde DayOfWeek( Tarih ); fonksiyonundan dönen rakam 1'den 7'ye kadar oluyor. Bu rakamlardan 7 Cumartesiyi, 1 Pazar'ı temsil eder. Bu iki rakam varsa sorgu yaptırmana otomatik olarak gerek kalmıyor.
- Geriye Resmi Tatil Günleri kalıyor. Onu da XML ile hazırlayıp WEB sunucuna koyarsan, her yıl en az bir kere kullanıcının bunu UPDATE ederek yıllık resmi tatil günlerini locale almasını sağlarsan ön kontrol için yeterli olacaktır.
- Bu saydıklarım tatil günlerini daha sorgulamadan bilmek üzerine idi.
- Daha önce söylediğim ise sen sorgunu yapıyorsun, dönen bilgiyi parse ediyorsun ya, parse edecek bilgi yoksa ve herhangi bir connection hatası almamışsan dönen uyarıyı kullanıcılarına tercüme ederek o güne ait bilginin mevcut olmadığını mesajla verirsin demek istemiştim...
@sabanakman, verdiğin kod internet bağlantısı olup olmadığını kontrol etmeye yönelik. Lazım olan ise internet bağlantın varken, karşı tarafta browse edilecek bilgi olup olmadığı yönünde...

Başarılar...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
- Meseleyi açayım, yanlışsam düzeltin.
- TCMB her gün için döviz kurlarını statik bir HTML sayfa halinde sunmaktadır. URL formatını biz belirleyerek dilediğimiz tarihe ait döviz bilgisini elde edebiliyoruz.
Örnek : http://www.tcmb.gov.tr/kurlar/200703/16032007.html
Buradaki linkinin açılımı statik bir HTML sayfa.
- 200703 klasörü 2007 yılı 03 ayına ait veriler olduğunu bildiriyor.
- 16032007.html ise adından da görüldüğü üzere 16 MART 2007 verisini içeren sayfa.
- Biz kafadan dilediğimiz tarihe göre URL üretebiliriz. Bunu üretirken de -bir önceki mesajımda bildirdiğim üzere- hafta sonu ve resmi tatillere denk gelenleri elemek en rantable çözümü sunacaktır zaten. Gereksiz sorgulama yapmadan zamandan tasarruf sağlanmış olunacaktır.
- Yine de bu tasarruf sağlanmayıp sorgu yapıldığında üç ihtimalli bir sayfa dönüşü yaşanır. İlk ihtimal veri olan bir tarihe denk geliyorsa veri içeren sayfa, tatil gününe denk gelen tarih istenmişse aşağıdaki sayfa dönecektir.
- Üçüncü ihtimal ise eğer -olmaz ya- TCMB serveri çökmüşse veya daha olası olan, internet teknik bağlantı veya DNS sorunu yaşayan bir bilgisayardan bu işlem yapılmaya çalışıyorsa; bu resim linki bulunmayan local bilgisayarınız tarafından üretilen başka türden bir erişim hatası sayfası dönecektir.
Örnek :
- Yani ekstra bir PING, sayfa aktif mi veya üçüncü bir kontrol zaman kaybından başka birşey değil... 
- TCMB her gün için döviz kurlarını statik bir HTML sayfa halinde sunmaktadır. URL formatını biz belirleyerek dilediğimiz tarihe ait döviz bilgisini elde edebiliyoruz.
Örnek : http://www.tcmb.gov.tr/kurlar/200703/16032007.html
Buradaki linkinin açılımı statik bir HTML sayfa.
- 200703 klasörü 2007 yılı 03 ayına ait veriler olduğunu bildiriyor.
- 16032007.html ise adından da görüldüğü üzere 16 MART 2007 verisini içeren sayfa.
- Biz kafadan dilediğimiz tarihe göre URL üretebiliriz. Bunu üretirken de -bir önceki mesajımda bildirdiğim üzere- hafta sonu ve resmi tatillere denk gelenleri elemek en rantable çözümü sunacaktır zaten. Gereksiz sorgulama yapmadan zamandan tasarruf sağlanmış olunacaktır.
- Yine de bu tasarruf sağlanmayıp sorgu yapıldığında üç ihtimalli bir sayfa dönüşü yaşanır. İlk ihtimal veri olan bir tarihe denk geliyorsa veri içeren sayfa, tatil gününe denk gelen tarih istenmişse aşağıdaki sayfa dönecektir.
- Parse fonksiyonumuz, gelen sayfa içeriğinde http://www.tcmb.gov.tr/hata/logo.gif linkini görürse diyeceksiniz ki, sayfa erişilebiliyor fakat veri yok.Sayfa Görüntülenemedi - Page Not Found
Aradığınız sayfa taşınmış, ismi değiştirilmiş veya geçici olarak hizmet dışına alınmış olabilir
Yazmış olduğunuz adresi tekrar kontrol ediniz.
http://www.tcmb.gov.tr ana sayfasına dönebilirsiniz.
Back simgesine basarak bir önceki sayfaya dönebilirsiniz.
The page you are looking for might be removed, have its name changed, or is temporarily unavailable.
Make sure that the page adress is spelled correctly.
Go back to http://www.tcmb.gov.tr home page.
Click Back button to try another link.
- Üçüncü ihtimal ise eğer -olmaz ya- TCMB serveri çökmüşse veya daha olası olan, internet teknik bağlantı veya DNS sorunu yaşayan bir bilgisayardan bu işlem yapılmaya çalışıyorsa; bu resim linki bulunmayan local bilgisayarınız tarafından üretilen başka türden bir erişim hatası sayfası dönecektir.
Örnek :
- İşte ilk mesajımda bahsettiğim irdelenecek konu burada. Bu resim linki varsa ki tespiti çok kolay.Sayfa görüntülenemiyor
Aradığınız sayfa şu an kullanılamıyor. Web sitesi teknik sorunlar yaşıyor olabilir ya da tarayıcınızın ayarlarını değiştirmeniz gerekebilir.
--------------------------------------------------------------------------------
Lütfen bunları deneyin:
Yenile düğmesini tıklatın veya daha sonra yeniden deneyin.
Sayfanın adresini Adres çubuğuna yazdıysanız, doğru yazdığınızdan emin olun.
Bağlantı ayarlarınızı doğrulamak için Araçlar menüsünü sonra da Internet Seçenekleri'ni tıklatın. Bağlantılar sekmesinde Ayarlar'ı tıklatın. Buradaki ayarlar, yerel ağınızın (LAN) yöneticisi ya da Internet servis sağlayıcınız (ISS) tarafından yapılanlar ile eşleşmelidir.
Internet bağlantı ayarlarınızın algılanıp algılanmadığına bakın. Microsoft Windows'un ağınızı inceleyip, ağ bağlantısı ayarlarınızı otomatik olarak algılamasını sağlayabilirsiniz (ağ yöneticiniz bu ayarı etkinleştirmişse).
Araçlar menüsünü sonra da Internet Seçenekleri'ni tıklatın.
Bağlantılar sekmesinde, LAN Ayarlarını tıklatın.
Ayarları otomatik olarak algıla'yı seçin, ve sonra Tamam'ı tıklatın.
Bazı siteler 128-bitlik bağlantı güvenliğini zorunlu tutmaktadır. Yüklü güvenlik güç derecenizi belirlemek için önce Yardım menüsünü sonra da Internet Explorer Hakkında'yı tıklatın.
Güvenli bir siteye erişmeye çalışıyorsanız Güvenlik ayarlarınızın bunu desteklediğinden emin olun. Araçlar menüsünü sonra da Internet Seçenekleri'ni tıklatın. Gelişmiş sekmesinde güvenlik kısmına kayın ve SSL 2.0, SSL 3.0, TLS 1.0, PCT 1.0'a ilişkin ayarları denetleyin.
Başka bir bağlantı denemek için Geri düğmesini tıklatın.
Sunucu ya da DNS Bulunamadı Hatası
Internet Explorer
Kod: Tümünü seç
IF POS('http://www.tcmb.gov.tr/hata/logo.gif', GelenHtmlKaynak) > 0
then ShowMessage('Sayfa Aktif ama Veri Yok')
else ShowMessage('Siteye Erişim Sorunu Yaşadınız...');

Program zaten kendi içinde haftanın günlerini buluyor. 23 nisan 30 agt filanda ekledim. sorun bayramlar?mrmarman yazdı:Güzel bir ön çalışma ile, kolaylıkla tarihin hafta sonuna denk gelip gelmediğini daha sorgu yapmadan tespit edebilirsin.
USES'a DateUtils eklediğinde DayOfWeek( Tarih ); fonksiyonundan dönen rakam 1'den 7'ye kadar oluyor. Bu rakamlardan 7 Cumartesiyi, 1 Pazar'ı temsil eder. Bu iki rakam varsa sorgu yaptırmana otomatik olarak gerek kalmıyor.
- Geriye Resmi Tatil Günleri kalıyor. Onu da XML ile hazırlayıp WEB sunucuna koyarsan, her yıl en az bir kere kullanıcının bunu UPDATE ederek yıllık resmi tatil günlerini locale almasını sağlarsan ön kontrol için yeterli olacaktır.
- Bu saydıklarım tatil günlerini daha sorgulamadan bilmek üzerine idi.
- Daha önce söylediğim ise sen sorgunu yapıyorsun, dönen bilgiyi parse ediyorsun ya, parse edecek bilgi yoksa ve herhangi bir connection hatası almamışsan dönen uyarıyı kullanıcılarına tercüme ederek o güne ait bilginin mevcut olmadığını mesajla verirsin demek istemiştim...
@sabanakman, verdiğin kod internet bağlantısı olup olmadığını kontrol etmeye yönelik. Lazım olan ise internet bağlantın varken, karşı tarafta browse edilecek bilgi olup olmadığı yönünde...![]()
Başarılar...
Hüseyin in kodunu deneyeceğim bir. ama onca zahmet edip yardım etmeye calışmısınız çok teşekkürler.
sabrınız ve açıklamalarınız için.
ikut yazdı:sorun bayramlar?
Bayramları daha önce yazmış olduğum kodla bulabilirsin linki...
viewtopic.php?p=12299#12299
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
S.a arkadaslar benzer bı konu oldugu ıcın buraya yazmayı uygun gordum..
http://www.havadurumu.com.tr/index.asp?c=212&p=9427
ben bu sıteden ıstanbula aıt hava durumunu alıyorum..hersey cok guzel ancak soyle bı sorun cıkıyor..sıte sık sık guncellenıyor benım degerlerı alırkenkı kodlarda herhangı bı degısım olmuyor ancak lınk degısıyor ve yukardakı lınk ın sonuna &status=retrieved eklenıyor
http://www.havadurumu.com.tr/index.asp? ... =retrieved yanı bu sekılde oluyor ve tabıkı program lınkı bulamadıgı ıcın cakılıp kalıyor...benım dusuncem ıse ılk basta http://www.havadurumu.com.tr/index.asp?c=212&p=9427 bu lınk e bakcak eger oyle bı lınk yoksa ıkıncısıne(http://www.havadurumu.com.tr/index.asp?c=212&p=9427 &status=retrieved) bakmak... bu kontrolu nasıl saglayabılırımm... (IDHTTP nesnesını kullanıyorum)
http://www.havadurumu.com.tr/index.asp?c=212&p=9427
ben bu sıteden ıstanbula aıt hava durumunu alıyorum..hersey cok guzel ancak soyle bı sorun cıkıyor..sıte sık sık guncellenıyor benım degerlerı alırkenkı kodlarda herhangı bı degısım olmuyor ancak lınk degısıyor ve yukardakı lınk ın sonuna &status=retrieved eklenıyor
http://www.havadurumu.com.tr/index.asp? ... =retrieved yanı bu sekılde oluyor ve tabıkı program lınkı bulamadıgı ıcın cakılıp kalıyor...benım dusuncem ıse ılk basta http://www.havadurumu.com.tr/index.asp?c=212&p=9427 bu lınk e bakcak eger oyle bı lınk yoksa ıkıncısıne(http://www.havadurumu.com.tr/index.asp?c=212&p=9427 &status=retrieved) bakmak... bu kontrolu nasıl saglayabılırımm... (IDHTTP nesnesını kullanıyorum)