Resultados 1 a 8 de 8
  1. #1

    Smile Função que retorna o IP na Rede.

    Pessoal tava pesquizando na Net como pegar o IP usando o Delphi só que só achei funções que retornacem o IP local da Maquina,então pesquizando um pouco achei uma função que retornace o IP da rede usando o codigo de fonte de um site,o unico problema é que a função estava bugada,grande e com erros,ai resolvi fazer essa funçãozinha basica para ajudar caso alguem precise.
    OBS:Precisa declarar "idHTTP" na Uses.

    Código:
    Function GetIP : String;
    Var
    idHTTP: TIdHTTP;
    Site: String;
    Begin
    idHTTP:= TIdHTTP.Create(Nil);
    Site:= idHTTP.Get('http://checkip.dyndns.org');
    idHTTP.Free;
    Result:= Copy(Site,Pos(':',Site) + 2,15);
    End;
    Última edição por R0Dr1g0.; 05 Jan 2012 às 15:18. Razão: adicionar o IdHttp.Free

  2. #2
    Citação Postado originalmente por KaiqueHunter Ver Post
    Pessoal tava pesquizando na Net como pegar o IP usando o Delphi só que só achei funções que retornacem o IP local da Maquina,então pesquizando um pouco achei uma função que retornace o IP da rede usando o codigo de fonte de um site,o unico problema é que a função estava bugada,grande e com erros,ai resolvi fazer essa funçãozinha basica para ajudar caso alguem precise.
    OBS:Precisa declarar "idHTTP" na Uses.

    Código:
    Function GetIP : String;
    Var
    idHTTP: TIdHTTP;
    Site: String;
    Begin
    idHTTP:= TIdHTTP.Create(Nil);
    Site:= idHTTP.Get('http://checkip.dyndns.org');
    Result:= Copy(Site,Pos(':',Site) + 2,15);
    End;
    Na verdade isso pega o IP WAN que você ganha ao conectar na internet,não é o IP local.
    MP Com dúvidas e pedidos de ajudas serão IGNORADAS
    "Mentes fracas não pensam,corpos fracos não lutam."

    Microsoft Technology Associate: Software Development Fundamentals (C#
    )

  3. #3
    Na verdade isso pega o IP WAN que você ganha ao conectar na internet,não é o IP local.
    Sim na verdade era isso mesmo que eu estava procurando,só que só achava o IP Local,oq é facil usando o idIPWatch da Indy Components.

  4. #4
    Citação Postado originalmente por KaiqueHunter Ver Post
    Sim na verdade era isso mesmo que eu estava procurando,só que só achava o IP Local,oq é facil usando o idIPWatch da Indy Components.
    Na verdade isso é meio POG pois vc ta usando um serviço externo só pra pegar o IP.
    E ta faltando usar o método Free do TIdHttp para liberar a memória usada,desse jeito o programa vai inflando por causa das várias instancias da classe TIdHttp que são criadas e não são liberadas.
    Última edição por R0Dr1g0.; 05 Jan 2012 às 13:46.
    MP Com dúvidas e pedidos de ajudas serão IGNORADAS
    "Mentes fracas não pensam,corpos fracos não lutam."

    Microsoft Technology Associate: Software Development Fundamentals (C#
    )

  5. #5
    Ata esqueci,ainda to muito Noob,tem como editar?
    Sobre o POG,acho q não pq já vi outras funções que seguiam a mesma Base,como a Função que vc postou de encurtar a URL,e outra não achei nada de como pegar o IP na Rede,só achei sobre o IP Local usando varios metodos como usando o idIPWatch,ou WinSock,acho que é possivel até mesmo com o TServerSocket e TClientSocket.

  6. #6
    Citação Postado originalmente por KaiqueHunter Ver Post
    Ata esqueci,ainda to muito Noob,tem como editar?
    Sobre o POG,acho q não pq já vi outras funções que seguiam a mesma Base,como a Função que vc postou de encurtar a URL,e outra não achei nada de como pegar o IP na Rede,só achei sobre o IP Local usando varios metodos como usando o idIPWatch,ou WinSock,acho que é possivel até mesmo com o TServerSocket e TClientSocket.
    Na verdade aquilo não é pog porque o migre.me fornece aquela api web e é ele que faz o serviço de encurtar url,é como usar a API do twitter ,ou do facebook.

    Sobre editar,eu vou editar.
    MP Com dúvidas e pedidos de ajudas serão IGNORADAS
    "Mentes fracas não pensam,corpos fracos não lutam."

    Microsoft Technology Associate: Software Development Fundamentals (C#
    )

  7. #7
    Então mas como falei não consegui achar outro metodo a não ser esse,2 unico lugar que achei foi usando o mesmo metodo e esse site era melhor,e menos provavel a mudança no codigo de fonte(Pq caso aconteça teria que mudar o Pos).Se vc souber algum metodo pode falar que tento fazer.

  8. #8
    Desculpe o Double Post,mas percebi o erro nessa Função isso pq o numero do IP é diferente então copiar 15 caractere não ira resolver refiz ela de um geito melhor:

    Código:
    Function GetIP : String;
    Var
    idHTTP: TidHTTP;
    Site: String;
    I: Integer;
    Begin
    idHTTP:= TIdHTTP.Create(Nil);
    Site:= idHTTP.Get('http://checkip.dyndns.org');
    Site:= Copy(Site,Pos(':',Site) + 2,30);
    For I:= 0 To 15 Do
    Begin
    Delete(Site,Length(Site),Length(Site));
    End;
    IdHTTP.Free;
    Result:= Site;
    End;
    Agora independente do valor do IP a função resultara o IP normalmente.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •