IP sorgulama

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Merhabalar

biliyorsunuz bir takı IP ler nerede hangi lokasyonda ülke bölge şehir falan siteler var. ip bilgisini yazıp o ip bilgisinin hangi ülkede hangi şehirde olduğunu gösteriyor.

ama bunu tek tek ip girerek sorguluyorsunuz.

Excel de hazırda buna benzer bir şey yapılmışmıdır bilmiyorum ama alt alta ip bilgilerini yazsam a sütununa bana b sütununa hangi ülke c sütununa hangi şehirde olan ip bilgileri olduğunu yazacak bir makro düzeneği excel var mıdır acaba bilgilerinizi ve yardımlarınızı rica ederim
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Excel'de bunun için Reverse Geocoding API sunan bir sunucu üzerinden bu iş yapılabilir. Sanırım Google'ın böyle bir API'sı vardı ve kullanım miktarına göre ücretlendiriliyordu.

Bu API'yi kullanarak Excel'de bir ara yüz hazırlanabilir.

.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,419
Excel Vers. ve Dili
Office 2013
Haluk Bey yine karşılaştık ;)

Aşağıdaki adres apisiyle json, xml, csv, newline olarak alınabilir.

Adreste bulunan son kısım yani 24.48.0.1 ip adresidir. Siz farklı ip adresleriyle test edebilirsiniz.

Not: This endpoint is limited to 45 requests per minute from an IP address.

diyor yani dakikada 45 sorgulama yapılabilir aynı başvuru ip adresinden.

Kod:
http://ip-api.com/json/24.48.0.1

http://ip-api.com/xml/24.48.0.1

http://ip-api.com/csv/24.48.0.1

http://ip-api.com/line/24.48.0.1
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
@beab05 ;

Bu sefer konuyu uzatmayalım bari ..... :LOL:

.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,419
Excel Vers. ve Dili
Office 2013
@Haluk ;

Bence de ;)

Verdiğim adres fena değil aslında.. Elbette başka free apiler de bulunabilir.. Bu konuyla aklıma bişey geldi onu yeni konu açarak sorayım..
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bu durumda; ekli dosya ile Excel makrosunun çalıştırıldığı bilgisayarın harici IP adresi ve bilgisayarın lokasyonu bulunabilir.....

.
 

Ekli dosyalar

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
tabi benim bu dosyayı görme yetkim yok maalesef :)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kodun çalıştırıldığı PC'ye ait harici IP adresi ve lokasyon için aşağıdaki kodu kullanın .... Farklı bir IP adresi için, 3 No'lu mesajda verilen örnekteki gibi URL'e parametre olarak söz konusu IP adresini ekleyin.

Kod:
Sub Test()
    'Haluk - 15/11/2019
    'E-posta: sa4truss@gmail.com
    '
    Dim XDoc As Object
    Dim strURL As String, myIP As String, myCountry As String, myRegion As String, myCity As String

    Set XDoc = CreateObject("MSXML2.DOMDocument")
    XDoc.async = False
    XDoc.validateOnParse = False

    strURL = "http://ip-api.com/xml/"
    XDoc.Load strURL
 
    myIP = XDoc.SelectSingleNode("query/query").Text
    myCountry = XDoc.SelectSingleNode("query/country").Text
    myRegion = XDoc.SelectSingleNode("query/regionName").Text
    myCity = XDoc.SelectSingleNode("query/city").Text

    MsgBox "IP " & vbTab & ": " & myIP & vbCrLf & _
           "Country " & vbTab & ": " & myCountry & vbCrLf & _
           "Region " & vbTab & ": " & myRegion & vbCrLf & _
           "City " & vbTab & ": " & myCity

    Set XDoc = Nothing
End Sub
 
Son düzenleme:

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,419
Excel Vers. ve Dili
Office 2013
Haluk Bey'in kodunu fonksiyona çevirseniz ilk mesajda tam istediğiniz gibi olacaktır.

Kod tamamen Haluk Beye aittir. Sadece fonksiyona çevirdim.

Kullanımı: =Haluk_Ip("adres hücresi")

Kod:
Public Function Haluk_Ip(ipAddress)
    'Haluk - 15/11/2019
    'E-posta: sa4truss@gmail.com
    '
    Dim strURL As String, XDoc As Object
 
    Set XDoc = CreateObject("MSXML2.DOMDocument")
    XDoc.async = False
    XDoc.validateOnParse = False
 
    strURL = "http://ip-api.com/xml/" & ipAddress
    XDoc.Load strURL
 
    myIP = XDoc.SelectSingleNode("query/query").Text
    myCountry = XDoc.SelectSingleNode("query/country").Text
    myRegion = XDoc.SelectSingleNode("query/regionName").Text
    myCity = XDoc.SelectSingleNode("query/city").Text
 
    
 Haluk_Ip = myRegion
 
    Set XDoc = Nothing
End Function
Adsız.png
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
bir msgbox içerisinde pc me ait şu anki ıp hostname bilgisi falan çıkıyor sanırım bu kodla.

ama diğer türlü a sütununda bulunan tüm ip bilgilerinin b sütununa falan hangi ülke hangi şehir olduğunu getirtmek için farklı kodlara ihtiyaç var sanırım
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Fonksiyonda en son satırı aşağıdaki gibi değiştirip, sayfada kullanırken dizi formülü (CTRL+Shift+Enter) olarak girerseniz, diğer bilgileri de alırsınız....

Kod:
Haluk_Ip = Array(myCountry, myRegion, myCity)



.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
ben bu kodu excel de nereye yerleştireceğim peki ve nasıl çalışacak. şu an sheet1 sayfasına ait kod düzeneğine koydum. ama makro kod düzeneği gibi algılamıyor. f5 yani run sub yaptığımda karşıma hangi macroyu çalıştıracağıma dair diyalog penceresi geliyor ama tabi boş bi pencere geliyor.

Kod:
Public Function Haluk_Ip(ipAddress)
    'Haluk - 15/11/2019
    'E-posta: sa4truss@gmail.com
    '
    Dim strURL As String, XDoc As Object
 
    Set XDoc = CreateObject("MSXML2.DOMDocument")
    XDoc.async = False
    XDoc.validateOnParse = False
 
    strURL = "http://ip-api.com/xml/" & ipAddress
    XDoc.Load strURL
 
    myIP = XDoc.SelectSingleNode("query/query").Text
    myCountry = XDoc.SelectSingleNode("query/country").Text
    myRegion = XDoc.SelectSingleNode("query/regionName").Text
    myCity = XDoc.SelectSingleNode("query/city").Text
 
    
Haluk_Ip = Array(myCountry, myRegion, myCity)
 
    Set XDoc = Nothing
End Function
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Yeni bir modül oluşturarak verilen kodları oraya yapıştırın ama makrolarınız arasında yine gözükmeyecektir , çünkü verilen kodlar bir Function (Fonksiyon) bunu excelde formül oluşturur gibi kullanacaksınız .Haluk hocamın son mesajındaki ekran görüntüsünde de görüleceği gibi kullanabilirsiniz , hocam aynı zamanda dizi formülü olduğunu belirtmiş bunu da gözden kaçırmayın.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
evet dediğiniz gibi yaptım. B sütununa country yansıyor ama c ve de sütununa yine country yansıyor

 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Birader; aynı satırdaki B2, C2, D2 hücrelerinin hepsini fare ile seç, Ctrl+Shift+Enter yap...... Ondan sonra, seçilmiş olan bu hücreleri alt satırlara doğru sürükle......

.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Uygulama videosu aşağıdadır. Artık daha ne yapılır, bilmiyorum ....





.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
şu an gösterdiğiniz gibi yaptım ve oldu. Çok teşekkürler üstadım. emin olun bildiğim bir şey olmayınca yapamadım. takdir edersiniz ki sizin kadar bilgi sahibi değilim. ordan burdan bişeyler birleştirerek birşeyler yapıyorum. emeğiniz bilginiz ve her türlü sabrınız için teşekkür ederim. sert tavır takınmanıza sebebiyet verdiğim için nolur mazur görün beni.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Estağfurullah, mazur görülecek bir şey yok .... normaldir.

Benim mizacım biraz ters ve gıcıktır, sizinle bir ilgisi yok yani....

Kolay gelsin,

.
 
Üst