Tekil Mesaj gösterimi
Alt 25 Kasım 2025, 22:00   #5
Çevrimdışı
Entrance Doğrulanmış Üye
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: İp adresi konum sorgulama (Güncel)




ZaLiM1979 Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
3 degisik IP denedim hep ayni sonuc.
Gösterilecek Veri Yok.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias sorgula { if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return } set %ipaddr $1 unset %ipdata | unset %headerdone | unset %clen | unset %got if ($var(&buf,0)) bunset &buf echo -a IP: %ipaddr Bilgileri Sorgulanıyor... sockopen iplookup ip-api.com 80 } on *:SOCKOPEN:iplookup: { if ($sockerr) { echo -a Sunucuyla Bağlantı Kurulamıyor. | sockclose $sockname | return } sockwrite -n $sockname GET $+(/json/,%ipaddr) HTTP/1.1 sockwrite -n $sockname Host: ip-api.com sockwrite -n $sockname Connection: close sockwrite -n $sockname Accept: application/json sockwrite -n $sockname User-Agent: mIRC sockwrite -n $sockname $crlf } on *:SOCKREAD:iplookup: { if ($sockerr) { echo -a Sunucuyla Bağlantı Kurulamıyor. | sockclose $sockname | return } var %read 1 while (%read) { sockread -f &chunk if ($bvar(&chunk,0) == 0) break if (!$var(&buf,0)) bcopy &buf 1 &chunk 1 $bvar(&chunk,0) else bcopy &buf $calc($bvar(&buf,0) + 1) &chunk 1 $bvar(&chunk,0) bunset &chunk } if (!%headerdone) { var %p $bfind(&buf,1,13 10 13 10) if (%p) { set %headerdone 1 var %hdr $bvar(&buf,1,%p).text if ($regex(%hdr,/Content-Length:\s*([0-9]+)/i)) set %clen $regml(1) var %bodyStart $calc(%p + 4) var %len $bvar(&buf,0) if (%len >= %bodyStart) { var %bytes $calc(%len - %bodyStart + 1) var %text $bvar(&buf,%bodyStart,%bytes).text set %ipdata $+(%ipdata,%text) set %got $calc(%got + %bytes) ; Buffer'ı sadece gövde ile yeniden düzenle bcopy &buf 1 &buf %bodyStart $calc(%len - %bodyStart + 1) } else bunset &buf } return } if ($var(&buf,0)) { var %bytes $bvar(&buf,0) var %text $bvar(&buf,1,%bytes).text set %ipdata $+(%ipdata,%text) set %got $calc(%got + %bytes) bunset &buf } } on *:SOCKCLOSE:iplookup: { .timer 1 1 showdata } alias showdata { if (%ipdata == $null) { echo -a Gösterilecek Veri Yok. goto cleanup } ; JSON alanları var %status = Bulunamadı var %query = Bulunamadı var %country = Bulunamadı var %region = Bulunamadı var %city = Bulunamadı var %org = Bulunamadı var %as = Bulunamadı var %isp = Bulunamadı var %lat = Bulunamadı var %lon = Bulunamadı var %message = Bulunamadı if ($regex(%ipdata,/"status":"([^"]+)"/i)) set %status $regml(1) if ($regex(%ipdata,/"query":"([^"]+)"/i)) set %query $regml(1) if ($regex(%ipdata,/"country":"([^"]+)"/i)) set %country $regml(1) if ($regex(%ipdata,/"regionName":"([^"]+)"/i)) set %region $regml(1) if ($regex(%ipdata,/"city":"([^"]+)"/i)) set %city $regml(1) if ($regex(%ipdata,/"org":"([^"]+)"/i)) set %org $regml(1) if ($regex(%ipdata,/"as":"([^"]+)"/i)) set %as $regml(1) if ($regex(%ipdata,/"isp":"([^"]+)"/i)) set %isp $regml(1) if ($regex(%ipdata,/"lat":\s*([-0-9.]+)/i)) set %lat $regml(1) if ($regex(%ipdata,/"lon":\s*([-0-9.]+)/i)) set %lon $regml(1) if ($regex(%ipdata,/"message":"((?:\\.|[^"])*)"/i)) { var %m $regml(1) %m = $replace(%m,\\u0130,İ,\\u0131,ı,\\u00dc,Ü,\\u00fc,ü,\\u011e,Ğ,\\u011f,ğ,\\u015e,Ş,\\u015f,ş,\\u00d6,Ö,\\u00f6,ö,\\u00c7,Ç,\\u00e7,ç,\\/",/") set %message %m } if ($lower(%status) == success) { echo -a 3,1[ K U L L A N I C I B İ L G İ L E R İ ] echo -a 9IP  : 10 $utf2tr(%query) echo -a 9Ülke  : 10 $utf2tr(%country) echo -a 9Bölge  : 10 $utf2tr(%region) echo -a 9Şehir  : 10 $utf2tr(%city) echo -a 9ASN/AS  : 10 $utf2tr(%as) echo -a 9Org/ISP  : 10 $utf2tr(%org) / $utf2tr(%isp) echo -a 9Konum  : 10 Enlem: $utf2tr(%lat) Boylam: $utf2tr(%lon) } else { echo -a Sorgu başarısız: $iif(%message != Bulunamadı,$utf2tr(%message),Yanıt: $utf2tr(%ipdata)) } :cleanup unset %ipaddr | unset %ipdata | unset %headerdone | unset %clen | unset %got if ($var(&buf,0)) bunset &buf } alias utf2tr { var %text = $1- %text = $replace(%text,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç) return %text }

Dün test etme imkânım yoktu. Bugün test etme fırsatı buldum bu şekliyle mIRC'in en son sürümü olan v7.83'te sorunsuz çalışmaktadır.

İyi forumlar. ^^

__________________
Adaletsizliğin en büyüğü,
adil olmayıp adil gibi görünmektir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
İslami Sohbet sohbet bizimmekan reklamver