como saber o IP da Internet (não o da rede local)
como saber o IP da Internet e não o da rede local, pois todos os exemplos q testei, quando executo ele traz o ip da rede e não o IP da net
Fabiogr
Curtidas 0
Respostas
Sandra
21/06/2005
Fábio,
Dica do DTDelphi 2.7:
[quote:98aaff7c0f=´Lloyd Dickinson´]623 - Retorna o IP de sua máquina no momento em que você está conectado
[/quote:98aaff7c0f]
Para visualizar, testei assim e funcionou perfeitamente:
Espero que ajude.
Dica do DTDelphi 2.7:
[quote:98aaff7c0f=´Lloyd Dickinson´]623 - Retorna o IP de sua máquina no momento em que você está conectado
function GetIP: string; //--> Declare a Winsock na clausula uses da unit var WSAData: TWSAData; HostEnt: PHostEnt; Name: string; begin WSAStartup(2, WSAData); SetLength(Name, 255); Gethostname(PChar(Name), 255); SetLength(Name, StrLen(PChar(Name))); HostEnt := gethostbyname(PChar(Name)); with HostEnt^ do begin Result := Format(´¬d.¬d.¬d.¬d´, [Byte(h_addr^[0]),Byte(h_addr^[1]), Byte(h_addr^[2]),Byte(h_addr^[3])]); end; WSACleanup; end;
[/quote:98aaff7c0f]
Para visualizar, testei assim e funcionou perfeitamente:
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(GetIP); end;
Espero que ajude.
GOSTEI 0
Massuda
21/06/2005
como saber o IP da Internet e não o da rede local...
Imagino que você esteja em uma rede local com acesso à internet via proxy ou coisa parecida... nesse caso, a única forma de obter o IP visível na internet (que é o IP usado pela maquina que dá acesso à internet) é perguntando para alguém de fora da rede local qual IP ela está vendo... para isso, use, por exemplo, os dados contidos no site [url=http://www.meuip.com.br/]MeuIP[/url].GOSTEI 0
Sandra
21/06/2005
Imagino que você esteja em [b:2781b590fd]uma rede local com acesso à internet via proxy ou coisa parecida[/b:2781b590fd]...
Ihh, acho que não prestei atenção NO detalhe. :oops:
Massuda, obrigada pela correção. :D
GOSTEI 0
Janete
21/06/2005
[quote:d2f8fea335=´fabiogr´]como saber o IP da Internet e não o da rede local...
Imagino que você esteja em uma rede local com acesso à internet via proxy ou coisa parecida... nesse caso, a única forma de obter o IP visível na internet (que é o IP usado pela maquina que dá acesso à internet) é perguntando para alguém de fora da rede local qual IP ela está vendo... para isso, use, por exemplo, os dados contidos no site [url=http://www.meuip.com.br/]MeuIP[/url].[/quote:d2f8fea335]É exatamente esse IP que eu preciso, só que gostaria de tipo colocar uma função que traga o IP direto no sistema, sem precisar abrir o site.
GOSTEI 0
Massuda
21/06/2005
O que você quer dizer com ´direto do sistema´?
Numa máquina que está numa rede local acessando a internet via proxy (ou coisa parecida) só existe o IP da rede local. O IP da internet está na máquina (se houver) com acesso à internet; como muitas vezes essa ´máquina´ com acesso à internet não é um PC, a única forma garantida de saber o IP da internet é abrir um site que informe seu IP.
Numa máquina que está numa rede local acessando a internet via proxy (ou coisa parecida) só existe o IP da rede local. O IP da internet está na máquina (se houver) com acesso à internet; como muitas vezes essa ´máquina´ com acesso à internet não é um PC, a única forma garantida de saber o IP da internet é abrir um site que informe seu IP.
GOSTEI 0
Adriano Santos
21/06/2005
[quote:8a154a3087=´fabiogr´]como saber o IP da Internet e não o da rede local...
Imagino que você esteja em uma rede local com acesso à internet via proxy ou coisa parecida... nesse caso, a única forma de obter o IP visível na internet (que é o IP usado pela maquina que dá acesso à internet) é perguntando para alguém de fora da rede local qual IP ela está vendo... para isso, use, por exemplo, os dados contidos no site [url=http://www.meuip.com.br/]MeuIP[/url].[/quote:8a154a3087]Com base na idéia do [b:8a154a3087]Massuda[/b:8a154a3087] elaborei um exemplo com o componente TidHttp da paleta Indy, funciona, mas não sei se é o suficiente pro seu caso.
Coloca um label, um button e um TidHttp no form. No onClick digita o algoritimo que eu coloquei abaixo;
procedure TForm1.Button1Click(Sender: TObject); var strFull : string; begin strFull := idHttp1.Get(´http://www.meuip.com.br´); Label1.Caption := Copy(strFull,Pos(´<strong class="IP">´, strFull) + 19, 14); end;
GOSTEI 0
Janete
21/06/2005
[quote:0c7b561023=´Adriano Santos´]
Com base na idéia do [b:0c7b561023]Massuda[/b:0c7b561023] elaborei um exemplo com o componente TidHttp da paleta Indy, funciona, mas não sei se é o suficiente pro seu caso.
Coloca um label, um button e um TidHttp no form. No onClick digita o algoritimo que eu coloquei abaixo;
[/quote:0c7b561023]
Obrigado isso já resolve minha questão.
[quote:0c7b561023=´fabiogr´]como saber o IP da Internet e não o da rede local...
Imagino que você esteja em uma rede local com acesso à internet via proxy ou coisa parecida... nesse caso, a única forma de obter o IP visível na internet (que é o IP usado pela maquina que dá acesso à internet) é perguntando para alguém de fora da rede local qual IP ela está vendo... para isso, use, por exemplo, os dados contidos no site [url=http://www.meuip.com.br/]MeuIP[/url].[/quote:0c7b561023]Com base na idéia do [b:0c7b561023]Massuda[/b:0c7b561023] elaborei um exemplo com o componente TidHttp da paleta Indy, funciona, mas não sei se é o suficiente pro seu caso.
Coloca um label, um button e um TidHttp no form. No onClick digita o algoritimo que eu coloquei abaixo;
procedure TForm1.Button1Click(Sender: TObject); var strFull : string; begin strFull := idHttp1.Get(´http://www.meuip.com.br´); Label1.Caption := Copy(strFull,Pos(´<strong class="IP">´, strFull) + 19, 14); end;
Obrigado isso já resolve minha questão.
GOSTEI 0