| ardahan | 30.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; | |
| mrmcop | 30.03.2004 - 18:01:11 |
| Tabii...
Uses WinSock;
eklemeyi unutmuyoruz değil mi ? :o | |
| MicroChip | 31.03.2004 - 02:43:56 |
| kaçarmı be mrmcop tan :) | |
| mrmcop | 31.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... | |
| Anonymous | 01.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; ?> | |
| Anonymous | 16.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 ?? | |
| mrmcop | 16.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.... | |
| mussimsek | 16.04.2004 - 17:48:14 |
| Delphi 7'de Fastnet bileşenleri yok. Delphi 7 kullanıyorsanız Indy kullanın.
Kolay gelsin. | |
| Anonymous | 19.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 | |