vbs ile bir ip adresinin ülkesini bulduralım


vbs ile ip ülke ve konumunu belirlemek
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)

ip adresini giriniz

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

Vbs ile ip konumunu belirleme

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

Download


Yorum Ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Captcha