Daha önceki yazılarımızdan birinde Visual Basic scripti ile internet ip adresimizi bir tıkla naısl buluruz bunu açıklamaya çalışmıştık örnek uygulamamızı oldukça beğenmiş olan takipçilerimizden biri ip nin ülkesi ve
konumunu da buldurtup buldurtamayacağımızı sormuş , hatırlanırsa biz buradaki scriptte internet ip adresimizi dışarıdaki bir web sayfası üzerinden çekiyorduk (myexternalip) elbette bu iş için pek çok web sayfası kullanılabilir soruya gelirsek , benim anladığım scripti çalıştırdığımızda ip girilecek bir boşluk ve bu girilen İp nin ülke bilgilerinin çekilmesi isteniyor , bu konuda kullanılabilecek kodlar ve veri çekimine müsait web sayfası mevcuttur gelelim nasılına:
1. Öncelikle bize kullanıcıya soru sorup (ki bu ip adresini girin gibi birşey olacak) verdiği cevabı ilgili web sayfasında sorgulatıp sonucu da ekrana yansıtmamız gerekecektir
strMessage =Inputbox("Ip Adresinizi aşağıdaki boşluğa giriniz","Sordum.net")
üstteki bir satırlık kod ile kullanıcıya ip adresini girebileceği bir arayüz sunduk (Aşağıdaki resim)
2. Sırada butonlara basıldığında nelerin yapılmasının gerektiğini koda dökmek var , söyle düşünelim ; kullanıcı üstteki resimde ip boşluğunu boş bırakabilir ve tamam butonuna tıklayabilir veya iptal butonunu kullanabilir bu iki eylemde scriptin kapanmasını sağlayabiliriz , kullanıcıya illada "burayı boş bıraktınız" gibi zorlayıcı mesajlar göstermenin anlamı yok o halde kontrolcümüz aşağıdkai gibi olacaktır
If strMessage <> "" Then
Değerimiz sıfır ve boş deilse - Üstteki kod ile bunu dedik , sonrasında İp adresini belirlediğimiz kodları kullanacağız
Dim http : Set http = CreateObject( "MSXML2.ServerXmlHttp" ) http.Open "GET", "https://freegeoip.net/XML/"& strMessage, False http.Send Wscript.Echo http.responseText Set http = Nothing End If
Böylece kullanıcı boşluğa bir ip adresi girerse hangi ülkeye ait olduğunu ve yaklaşık konumunu bulabilecektir , ben kafadan bir ip salladım "83.156.222.2" ve sonucunu aşağıdaki şekilde verdi
Fransada GArd diye bir yerin ip adresiymiş , bu sefer kullandığım web sayfası freegeoip.net isminde bir sayfa amacı yazılımcılara halka açık bir HTTP API sunarak ip adreslerinin coğrafi konumlarını buldurmak, saate 10,000 sorguya izin veriliyor freegeoip web serveri ücretsiz ve açık kaynaklı olup yoğunluktan dolayı sıkıntı yaşayan olursa indirip kendiniz çalıştırabilirsiniz.
API kullanımı
Web sitesi Üç farklı format biçimi sunuyor
CSV : freegeoip.net/csv/8.8.8.8
XML : freegeoip.net/xml/4.2.2.2
JSON: freegeoip.net/json/github.com
freegeoip.net/{format}/{IP_or_hostname}
Kullanım şekli ise üstteki biçimde , biz xml formatını tercih ettik elbette kodlardan bu değiştirilebilir, belirli projeler için kodlama yapan arkadaşların işlerine yarayacağını düşünüyorum. Üstteki scriptin hazır kodlanmış halini aşağıdaki linkten indirebilirsiniz