IP numaramızı nasıl buluruz?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ahmetax
Üye
Mesajlar: 60
Kayıt: 14 Kas 2014 12:17

IP numaramızı nasıl buluruz?

Mesaj gönderen ahmetax »

Arama motorunda "IP numarasını bul" şeklinde bir arama yaptıramadım. Aramayı mutlaka kelimelere göre yapıyor ve 3 karakterden kısa olanları kabul etmiyor. Çeşitli denemeler yaptımsa da istediğim tür yanıtlar alamadım. Eğer bu konuda daha önce sorular sorulmuşsa, tekrarlamış olacağım. Kusura bakmayın!
"whatismyip.com" adresine girdiğimizde aldığımız IP değerini, string olarak döndüren bir fonksiyon var mı acaba?
İnternetten bulduğum bir örnek buldum ama, ilgili web adresi artık yanıt vermediği için işe yaramadı.
Bir çözüm öneriniz var mı? (Yerel IP değil, internete çıkış IPsini arıyorum. Delphi7 için.)
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen brs »

Ben kendi web sitem üzerinden alıyorum ip numaralarını bir fikir vermesi için paylaştım...

Kod: Tümünü seç

Form1.Caption := IdHTTP1.Get(PChar('http://www.xxxx.net/ipno/ipno.asp'));
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
ahmetax
Üye
Mesajlar: 60
Kayıt: 14 Kas 2014 12:17

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen ahmetax »

brs yazdı:Ben kendi web sitem üzerinden alıyorum ip numaralarını bir fikir vermesi için paylaştım...

Kod: Tümünü seç

Form1.Caption := IdHTTP1.Get(PChar('http://www.xxxx.net/ipno/ipno.asp'));
Yanıtınıza teşekkür ediyorum.
Ancak ben araya ayrıca bir asp veya php script koymadan bu işi halletmek istiyorum. Aksi halde her site için ayrı bir script hazırlamak gerekecek.
Üstelik bizim denetimimizde olmayan bir web sitesine ait IP numarasını bu yöntemle bulmak mümkün değil.
İyi çalışmalar diliyorum. Kolay gelsin
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen Lord_Ares »

Merhaba aşağıdaki kodu deneme şansın varsa denermisin, ufak düzeltmeler gerekebilir belki , şuan deneme şansım yok

Kod: Tümünü seç

Function WhatIsMyIp( WebBrowser: TWebBrowser ): String;
  function TagTemizle(strIcerik: string): string;
  var
    Tag1, Tag2: integer;
  begin
    Tag1 := Pos( '<', strIcerik);
    while (Tag1 > 0) do begin
      Tag2 := Pos('>', strIcerik);
      Delete(strIcerik, Tag1, Tag2 - Tag1 + 1);
      Tag1:= Pos( '<', strIcerik);
    end;
    Result := Trim(strIcerik);
  end;
Var
  strIcerik, strAra : String;
begin
  Result := '';
  WebBrowser.Navigate( 'http://www.whatismyip.com');
  while WebBrowser.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages;
  strIcerik := WebBrowser.OleObject.Document.Body.InnerHTML;
  strAra := '>Your IP:</TD>';
  if Pos( strAra, strIcerik ) > 0 then
  begin
    System.Delete( strIcerik, 1, Pos( strAra, strIcerik ) + Length(strAra)-1 );
    strIcerik := TagTemizle( Copy( strIcerik, 1, Pos('</TD>', strIcerik)-1 ) );
    Result := Trim(strIcerik);
  end;
end;

Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen mrmarman »

ahmetax yazdı:Ancak ben araya ayrıca bir asp veya php script koymadan bu işi halletmek istiyorum. Aksi halde her site için ayrı bir script hazırlamak gerekecek.
Üstelik bizim denetimimizde olmayan bir web sitesine ait IP numarasını bu yöntemle bulmak mümkün değil.
İyi çalışmalar diliyorum. Kolay gelsin
Merhaba.

- Bunu bence bir daha düşünmelisiniz. @brs'nin önerisine katılıyorum. Kendinize ait host/belki de hostlar vardır. Linux server ise aşağıdaki kodu içeren bir dosyacık koyun.
örnek olsun diye geçici olarak kendim bir tane koydum bakabilirsin.
bkz. http://www.trtportal.com/ip/ip.php

Kod: Tümünü seç

<?
 $domain = getenv('REMOTE_ADDR');
   { echo "ip=".$domain; }
?>
- Ayrıca yukarıda @Lord_Ares'in verdiği (zamanla WhatIsMyIp.com altyapısını değiştirdi) artık ardışık sorgu yapamıyorsunuz, hemen IP'yi gizliyor, başka bir alternatif vereyim.

Kod: Tümünü seç

Function WhatIsMyIp( WebBrowser: TWebBrowser ): String;
Var
  strIcerik, strAra : String;
begin
  Result := '';
  WebBrowser.Navigate( 'http://checkip.dyndns.com/');
  while WebBrowser.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages;
  strIcerik := WebBrowser.OleObject.Document.Body.InnerHTML;
  strAra := 'Current IP Address:';
  if Pos( strAra, strIcerik ) > 0 then
  begin
    System.Delete( strIcerik, 1, Pos( strAra, strIcerik ) + Length(strAra)-1 );
    strIcerik := Trim( strIcerik );
    Result := Trim(strIcerik);
  end;
end;
Resim
Resim ....Resim
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen brs »

ahmetax yazdı:
brs yazdı:Ben kendi web sitem üzerinden alıyorum ip numaralarını bir fikir vermesi için paylaştım...

Kod: Tümünü seç

Form1.Caption := IdHTTP1.Get(PChar('http://www.xxxx.net/ipno/ipno.asp'));
Yanıtınıza teşekkür ediyorum.
Ancak ben araya ayrıca bir asp veya php script koymadan bu işi halletmek istiyorum. Aksi halde her site için ayrı bir script hazırlamak gerekecek.
Üstelik bizim denetimimizde olmayan bir web sitesine ait IP numarasını bu yöntemle bulmak mümkün değil.
İyi çalışmalar diliyorum. Kolay gelsin
Selam beni yanlış anlamışsınız Gerçi sayın hocam mrmarman hocam konuya açıklık getirmiş .

("whatismyip.com" adresine girdiğimizde aldığımız IP değerini, string olarak döndüren bir fonksiyon var mı acaba?) bu soru size ait ben size önerim ise kendinize ait web siteniz varsa buradan çok daha sağlıklı bir
ip numarası alabilirsiniz diğer sitelerden alacağınız ip numara bilgisi bence çok sağlıklı olmaz her an kapanma veya değişiklik yapma olasılıkları var...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
ahmetax
Üye
Mesajlar: 60
Kayıt: 14 Kas 2014 12:17

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen ahmetax »

brs yazdı:
ahmetax yazdı:
brs yazdı:Ben kendi web sitem üzerinden alıyorum ip numaralarını bir fikir vermesi için paylaştım...

Kod: Tümünü seç

Form1.Caption := IdHTTP1.Get(PChar('http://www.xxxx.net/ipno/ipno.asp'));
Yanıtınıza teşekkür ediyorum.
Ancak ben araya ayrıca bir asp veya php script koymadan bu işi halletmek istiyorum. Aksi halde her site için ayrı bir script hazırlamak gerekecek.
Üstelik bizim denetimimizde olmayan bir web sitesine ait IP numarasını bu yöntemle bulmak mümkün değil.
İyi çalışmalar diliyorum. Kolay gelsin
Selam beni yanlış anlamışsınız Gerçi sayın hocam mrmarman hocam konuya açıklık getirmiş .

("whatismyip.com" adresine girdiğimizde aldığımız IP değerini, string olarak döndüren bir fonksiyon var mı acaba?) bu soru size ait ben size önerim ise kendinize ait web siteniz varsa buradan çok daha sağlıklı bir
ip numarası alabilirsiniz diğer sitelerden alacağınız ip numara bilgisi bence çok sağlıklı olmaz her an kapanma veya değişiklik yapma olasılıkları var...
Haklısınız. Hata benim sorumda. Birbiriyle ilintili bir sürü soru kafamda döndüğü için net bir soru soramamışım.
Beynim epeyce paslanmış anlaşılan! :)
ahmetax
Üye
Mesajlar: 60
Kayıt: 14 Kas 2014 12:17

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen ahmetax »

Lord_Ares yazdı:Merhaba aşağıdaki kodu deneme şansın varsa denermisin, ufak düzeltmeler gerekebilir belki , şuan deneme şansım yok

Kod: Tümünü seç

Function WhatIsMyIp( WebBrowser: TWebBrowser ): String;
  function TagTemizle(strIcerik: string): string;
  var
    Tag1, Tag2: integer;
  begin
    Tag1 := Pos( '<', strIcerik);
    while (Tag1 > 0) do begin
      Tag2 := Pos('>', strIcerik);
      Delete(strIcerik, Tag1, Tag2 - Tag1 + 1);
      Tag1:= Pos( '<', strIcerik);
    end;
    Result := Trim(strIcerik);
  end;
Var
  strIcerik, strAra : String;
begin
  Result := '';
  WebBrowser.Navigate( 'http://www.whatismyip.com');
  while WebBrowser.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages;
  strIcerik := WebBrowser.OleObject.Document.Body.InnerHTML;
  strAra := '>Your IP:</TD>';
  if Pos( strAra, strIcerik ) > 0 then
  begin
    System.Delete( strIcerik, 1, Pos( strAra, strIcerik ) + Length(strAra)-1 );
    strIcerik := TagTemizle( Copy( strIcerik, 1, Pos('</TD>', strIcerik)-1 ) );
    Result := Trim(strIcerik);
  end;
end;

Merhaba Lord_Ares,
Halihazırda kod tam çalışmıyor olsa da yaklaşımınız doğru. Yanıt çok değişkenli bir formun içinde olduğundan doğru çözümleme için biraz uğraşmak gerekecek.
Çok teşekkürler.
ahmetax
Üye
Mesajlar: 60
Kayıt: 14 Kas 2014 12:17

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen ahmetax »

Merhaba mrmarman,
Verdiğiniz checkip.dydndns.com adresi tam da istediğim yanıtı veriyor. Keşke echo etmek yerine string olarak döndürseydi parse işlemine bile gerek kalmayacaktı. :)
Bu kod derdimi çözecek.
PHP kodunu kendi siteme koymayı tercih etmeyişimin nedeni sıkça hosting değiştiriyor olmamda. Her firma aynı IP değerini farklı global değişkenlerle döndürebiliyor. Hepsine uyacak bir kod yazmaya çalışmaktansa bu servisi ücretsiz sağlayan bir web adresinden yararlanmak daha pratik ve kalıcı bir çözüm. (Bu vesileyle dyndns.com firması da zihnimin karanlıklarından tekrar su yüzüne çıkmış oldu.)
Ayrıntılı yanıtınız ve çözüm önerileriniz için çok teşekkür ederim.

Özel bir not: Delphiturkiye.com forum üyelerine de ayrıca genel olarak teşekkür etmek istiyorum. Karşılık beklemeden sunduğunuz iyi niyetli yardımseverlik, son dönemde webmaster forumlarında karşılaştığım akıl almaz ard niyetli ve çıkarcı davranışların yarattığı karamsarlığı dağıtıverdi. İyi ki varsınız! Tekrar tekrar hepinize teşekkür ediyorum! Sağolun! Varolun!
ahmetax
Üye
Mesajlar: 60
Kayıt: 14 Kas 2014 12:17

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen ahmetax »

Tekrar merhaba Lord_Ares,
Kaynak koduna bakınca www.whatismyip.com tarafından webBrowser'a yüklenen IP, özel olarak digitler halinde kodlanmış görünüyor. Table kullanılmamış. Sadece divler var.
mrmarman'ın verdiği checkip.dyndns.com is yalın IP değerini verdiği için uğraştırmıyor.
Selamlar. Kolay gelsin.
m_yaprakci

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen m_yaprakci »

http://ip.softend.com/text.php isminde bir text ip döndürme sayfası şu an emrinize amadedir. rahatca kullanabilirsiniz ilerde de silinmeyecektir.
site bana aittir.
ahmetax
Üye
Mesajlar: 60
Kayıt: 14 Kas 2014 12:17

Re: IP numaramızı nasıl buluruz?

Mesaj gönderen ahmetax »

m_yaprakci yazdı:http://ip.softend.com/text.php isminde bir text ip döndürme sayfası şu an emrinize amadedir. rahatca kullanabilirsiniz ilerde de silinmeyecektir.
site bana aittir.
Teşekkürler m_yaprakci! :)
Gayet güzel çalışıyor.
Cevapla