What is my IP?

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
ardahan
Üye
Mesajlar: 144
Kayıt: 26 Oca 2004 05:17
Konum: İstanbul - Kocaeli - Ardahan
İletişim:

What is my IP?

Mesaj gönderen ardahan »

Bildiğiniz gibi IP Adresimiz bağlı olduğumuz lokasyona göre değişir. Lokalde farklı IP, Internette farklı vs. Aşağıdaki kod ile IP numarasını öğrenebilirsiniz.

Kod: Tümünü seç

Uses WinSock;

procedure TForm1.Button2Click(Sender: TObject);
function GetIPFromHost(const HostName: string): string;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  i: Integer;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  Result := '';
  phe := GetHostByName(PChar(HostName));
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  i := 0;
  while pPtr^[i] <> nil do
  begin
    Result := inet_ntoa(pptr^[i]^);
    Inc(i);
  end;
  WSACleanup;
end;
begin
  showmessage('Internete Bağlandığım IP : '+GetIPFromHost('http://www.whatismyip.com'));
  showmessage('Local IP : '+GetIPFromHost(''));
end;
En son ardahan tarafından 31 Mar 2004 09:08 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Gözyaşlarım sevgimi anlatmıyor mu !
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Tabii...

Kod: Tümünü seç

Uses WinSock;
eklemeyi unutmuyoruz değil mi ? :o
Resim
Resim ....Resim
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

kaçarmı be mrmcop tan :)
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Estağfurullah...

- Aslında 'http://www.whatismyip.com' adresi gibi bir adresi bizim garantilemiz gerekir... Kendi kontrolümüzde olmalı...

Önce bir PHP script yazıp kendi kontrolümüzde olan bir siteye yolluyoruz... Aşağıdaki kod satırını direkt kopyala/yapıştır ile notepad vb. ile açtığınız boş sayfaya aktarın ve IP.PHP olarak kaydedin.

Dosyamızın adı örneğimizde IP.PHP

Kod: Tümünü seç

<?php $ipi = getenv("REMOTE_ADDR");?> ><?php echo $ipi ?><
Programa dönecek bilgiyi görmek/denemek isterseniz aşağıdaki linke tıklayın...
http://www.divxtr.org/divxturk/files/gecici/ip.php

Fonksiyonumuz

Kod: Tümünü seç

Function IpOgren : String;
var
  Http     : TNMHttp; // Uses NMHttp
  OkunanIP : string;
begin
  Http:= TNMHttp.Create(Nil);
  Result := '';
  Http.Get('http://www.divxtr.org/divxturk/files/gecici/ip.php'); 
  // DivXTurk sistesi benim site... 
  // dosya şimdilik orada duruyor. Silene kadar deneyebilirsin...
  OkunanIP := Trim(Http.Body);
  If OkunanIP <> '' then
  Result := Copy(OkunanIP, 2, Pos('<', OkunanIP)-2);
  Http.Free;
end;
Kullanımı :

Kod: Tümünü seç

procedure TForm1.Button3Click(Sender: TObject);
begin
  ShowMessage(IPOgren);
end;
:idea: Diğer yandan bu yapılanlar, kimileri için takla atmak şeklinde yorumlanabilir ve nedeni merak edilebilir... @Ardahan aslında çok faydalı bir yöntem önerdi, ana bilgisayarda değil de LAN aracılığıyla istemci (client) bir bilgisayardan Internet IP'sini öğrenmek ancak bu yöntemle mümkün... (ya da ben öyle biliyorum)

- Çalışmalarınızda başarılar...
Resim
Resim ....Resim
onaydin

Mesaj gönderen onaydin »

php de şu şekilde de ip'ye eişmek de mümkün
sanırım kesin bi şekilde ip erişiyor.

Kod: Tümünü seç

 <?
        function fetchip() 
		 {
          $client_ip = $_SERVER['HTTP_CLIENT_IP'];
          $x_forwarded_for = $_SERVER['HTTP_X_FORWARDED_FOR'];
          $remote_addr = $_SERVER['REMOTE_ADDR'];

          if (!empty ($client_ip) ) 
		   {
            $ip_expl = explode('.',$client_ip);
            $referer = explode('.',$remote_addr);
            
			if($referer[0] != $ip_expl[0]) 
			 {
              $ip=array_reverse($ip_expl);
              $return=implode('.',$ip);
             }
			else 
			 {
              $return = $client_ip;
             }
           }
		 elseif (!empty($x_forwarded_for) ) 
		  {
            if(strstr($x_forwarded_for,','))
			 {
              $ip_expl = explode(',',$x_forwarded_for);
              $return = end($ip_expl);
              } 
			else 
			  {
               $return = $x_forwarded_for;
               }
          } 
		  else 
		  {
            $return = $remote_addr;
          }
        unset ($client_ip,$x_forwarded_for,$remote_addr,$ip_expl);
        return $return;
       } 
	    $ip=fetchip();
		echo $ip;
?>
Misafir

Mesaj gönderen Misafir »

mrmcop yazdı:- Estağfurullah...

- Aslında 'http://www.whatismyip.com' adresi gibi bir adresi bizim garantilemiz gerekir... Kendi kontrolümüzde olmalı...

Önce bir PHP script yazıp kendi kontrolümüzde olan bir siteye yolluyoruz... Aşağıdaki kod satırını direkt kopyala/yapıştır ile notepad vb. ile açtığınız boş sayfaya aktarın ve IP.PHP olarak kaydedin.

Dosyamızın adı örneğimizde IP.PHP

Kod: Tümünü seç

<?php $ipi = getenv("REMOTE_ADDR");?> ><?php echo $ipi ?><
Programa dönecek bilgiyi görmek/denemek isterseniz aşağıdaki linke tıklayın...
http://www.divxtr.org/divxturk/files/gecici/ip.php

Fonksiyonumuz

Kod: Tümünü seç

Function IpOgren : String;
var
  Http     : TNMHttp; // Uses NMHttp
  OkunanIP : string;
begin
  Http:= TNMHttp.Create(Nil);
  Result := '';
  Http.Get('http://www.divxtr.org/divxturk/files/gecici/ip.php'); 
  // DivXTurk sistesi benim site... 
  // dosya şimdilik orada duruyor. Silene kadar deneyebilirsin...
  OkunanIP := Trim(Http.Body);
  If OkunanIP <> '' then
  Result := Copy(OkunanIP, 2, Pos('<', OkunanIP)-2);
  Http.Free;
end;
Kullanımı :

Kod: Tümünü seç

procedure TForm1.Button3Click(Sender: TObject);
begin
  ShowMessage(IPOgren);
end;
:idea: Diğer yandan bu yapılanlar, kimileri için takla atmak şeklinde yorumlanabilir ve nedeni merak edilebilir... @Ardahan aslında çok faydalı bir yöntem önerdi, ana bilgisayarda değil de LAN aracılığıyla istemci (client) bir bilgisayardan Internet IP'sini öğrenmek ancak bu yöntemle mümkün... (ya da ben öyle biliyorum)

- Çalışmalarınızda başarılar...

NMHttp hata veriyor ne yapmamız lazım usesde ekledim gine hata veriyor
foruma başka bişeydemi eklicez ??
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Delphi 5 kullanıyosan bileşen paletinden FastNet sayfasındadır... Diğer türlü IndyBileşen Paketinden Http bileşeni kullanacaksın... HTTP bileşeni nasıl çalışır bunu çözersin....
Resim
Resim ....Resim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Delphi 7'de Fastnet bileşenleri yok. Delphi 7 kullanıyorsanız Indy kullanın.

Kolay gelsin.
Misafir

Mesaj gönderen Misafir »

Kod: Tümünü seç

Function IpOgren : String;
var
  Http     : TIdHTTP; // Uses NMHttp
  OkunanIP : string;
begin
  Http:= TIdHTTP.Create(Nil);
  Result := '';
  Http.Get('http://members.lycos.co.uk/zemins/uploader_release3/upload/IP.php');
  // DivXTurk sistesi benim site...
  // dosya şimdilik orada duruyor. Silene kadar deneyebilirsin...
  OkunanIP := Trim(HTTP.BoundIP);
  If OkunanIP <> '' then
  Result := Copy(OkunanIP, 2, Pos('<', OkunanIP)-2);
  Http.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.Add(IPOgren);

end;

end.
//Kodu böyle yaptım gine olmadı memo1 e hiçbişey eklemiyor
//ShowMessage ile yapıncada hiç bişey yazmıyor boş mesaj geliyor
Cevapla