What is my IP?
ardahan30.03.2004 - 17:02:58
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.

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;
 
mrmcop30.03.2004 - 18:01:11
Tabii...

Uses WinSock;


eklemeyi unutmuyoruz değil mi ? :o
 
MicroChip31.03.2004 - 02:43:56
kaçarmı be mrmcop tan :)
 
mrmcop31.03.2004 - 10:34:16
- 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 :80fec19521

<?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
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ı :
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...
 
Anonymous01.04.2004 - 13:42:24
php de şu şekilde de ip'ye eişmek de mümkün
sanırım kesin bi şekilde ip erişiyor.


<?
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;
?>
 
Anonymous16.04.2004 - 13:24:12
- 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 :20d0fcbb39

<?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
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ı :
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 ??
 
mrmcop16.04.2004 - 17:42:10
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....
 
mussimsek16.04.2004 - 17:48:14
Delphi 7'de Fastnet bileşenleri yok. Delphi 7 kullanıyorsanız Indy kullanın.

Kolay gelsin.
 
Anonymous19.04.2004 - 11:16:57

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
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com