Ağustos 7
xmlHTTP ile Merkez Bankası Döviz Kurları (Ayrıntılı Açıklama)
Bilindiği gibi xmlHTTP`yi başka sitelerden veri çekmek için kullanıyoruz. xmlHTTP ile ilgili diğer yazılarım için http://www.hakansen.com/etiket/xmlhttp/ adresinden diğer konulara göz gezdirebilirsiniz.
Bu yazıda http://www.tcmb.gov.tr/kurlar/today.html adresinden Merkez Bankası döviz kurlarını anlık olarak nasıl alınır mantığı nedir ne değildir onu göstermeye çalışacağım.
Öncelikle Fonksiyonumuzu kurarak başlayalım.
Public Function GETHTTP(strGelen)
Set objVeriAl = Server.CreateObject("Microsoft.XMLHTTP" )
objVeriAl.Open "GET" , strGelen, False
objVeriAl.sEnd
GETHTTP= objVeriAl.Responsetext
Set objVeriAl = Nothing
End Function
Bu her zaman kullandığımız xmlhttp ile get metodu ile veri çekmek için kullanacağımız koddur.
şimdi devam edelim ve http://www.tcmb.gov.tr/kurlar/today.html adresine bağlanalım.
strURL = "http://www.tcmb.gov.tr/kurlar/toDay.html"
strVeri = GETHTTP(strAdres)
Siteye bağlandık ve responsetext olarak kaynağını aldık.
Şimdi sıra geldi USD yani dolar kurunu bu kodların içerisinden nasıl alırız onu öğrenmeye. Bu işlemi yapabilmek için inStr() ve Mid() fonksiyonlarını kullanacağız.
iDolar=InStr(strVeri,"USD" )
strDolarAlis=Mid(strVeri,iDolar+39,10)
strDolarSatis=Mid(strVeri,iDolar+52,10)
InStr() fonksiyonu ile aldığımız kaynak kodunda USD yazan yerin karakter sırasını alıyoruz ve Mid() fonksiyonuyla koddaki karakterler arasında kurların yazdığı bölümü alıyoruz.
strDolarAlis=Mid(strVeri,iDolar+39,10)
kodunda kaynak kodunun USD geçen yerinden 39 karakter sonrasindan başlayarak 10 karakter sonrasina kadar geçen bölümü alıyoruz, bu bölüm Merkez Bankası Dolar Alış kurunu almış oluyoruz.
Aynı şekilde EUR değerlerini de almak için
iEuro=InStr(strVeri,"EUR" )
strEuroAlis=Mid(strVeri,iEuro+39,11)
strEuroSatis=Mid(strVeri,iEuro+52,11)
Böylelikle tüm verileri almış oluyoruz, bunları sitede kullanmak istediğimiz yerlerde
Response.Write "Dolar Satış : "& strdolarsatis &"<br>"
Response.Write "Dolar Alış : "& strDolarAlis &"<br>"
Response.Write "Euro Satış : "& strEuroSatis &"<br>"
Response.Write "Euro Alış : "& strEuroAlis &"<br>"
şeklinde istediğiniz yerde kullanabilirsiniz.
Kodun komple çalışan versiyonuna http://www.hakansen.com/Kod/doviz.kurlari.txt adresinden ulaşabilirsiniz.