Página 1 de 1

meu ip

Enviado: 15 Abr 2014 21:47
por Abel
ola pessoal
estou com um duvida, pesquisei no forum mas nao achei.

nos navegadores eu digito www.meuip.com.br e ja descubro o meu ip fornecido pela empresa que libera a minha internet.

existe alguma funcao para eu descobrir este IP pelo harbour ?

desde ja agradeço.

Abel

meu ip

Enviado: 15 Abr 2014 23:35
por cjp
Abel, tenho uma função, pega aqui no fórum, que lê o conteúdo de um site. Acho que dá pra vc adaptá-la pra isso:

Código: Selecionar todos

Function PegaDtHrBrasilia()
 // baseado em exemplo Minigui disponibilizado na Seção de Downloads pelo Pablo César
   Local cRet := "", cPagina := ""
   local cTexto := "Local time in Brasilia"
   #include "hbcompat.ch"

   IF (oOle := Cria_OLE( "InternetExplorer.Application", , .T.)) == NIL
      RETURN .F.
   ENDIF
   oOle:Visible   := .F. // Apresenta o Browser
   oOle:ToolBar   := .F. // Desativa a barra de ferramentas
   oOle:StatusBar := .F. // Desativa a barra de status
   oOle:MenuBar   := .F. // desativa a barra de menu
   oOle:Navigate("http://www.timeanddate.com/worldclock/fullscreen.html?n=45")
   
   WHILE oOle:ReadyState() != 4  // Aguarda página ser carregada, mesmo q não seja visualizado no Navegador (opão Visible := F ou T)
      INKEY(.5)
   END
   INKEY(.2)
   
   *** Retrieve the entire HTML document as a string
   cPagina := oOle:Document():Body:InnerText 

   oOle := NIL

   If cTexto $ cPagina
      cPagina := Substr(cPagina,At(cTexto,cPagina)+25)
      cPagina := Substr(cPagina,At(",",cPagina)+1)
      cPagina := Alltrim(Substr(cPagina,1,At(CRLF,cPagina)+11))
      cDia := Strzero(Val(Substr(cPagina,1,At(" ",cPagina))),2,0)
      cPagina := Substr(cPagina,At("de ",cPagina)+3)
      cMes := VqMes(lower(Alltrim(Substr(cPagina,1,At(" ",cPagina)))))
      cPagina := Substr(cPagina,At("de ",cPagina)+3)
      cAno := Substr(cPagina,1,At(CRLF,cPagina)-1)
      cPagina := Substr(cPagina,At(CRLF,cPagina)+2)
      cData := cDia+"/"+cMes+"/"+cAno
      cHora := Substr(cPagina,1,8)
      cRet := cData+'*'+cHora
   Else
      cRet := "Erro"
   Endif
Return cRet
Em algumas máquinas que eu rodo ela, dá erro, não sei porque. Não consegui ajuda no fórum pra resolver esse problema. Mas em outras máquinas roda normalmente.

O post de onde tirei é este: viewtopic.php?f=4&t=14691&start=60.

meu ip

Enviado: 16 Abr 2014 11:26
por bencz
Tente com isso:

Código: Selecionar todos

/************************************************
* Compilar: hbmk2 democep.prg -lhbtip -lxhb
************************************************/

#define _SITE_ "http://www.trackip.net/ip"

REQUEST HB_CODEPAGE_PTISO

function main()
   local oHttp
   local cHtml

   HB_CDPSELECT("PTISO")
   
   oHttp := TIpClientHttp():new(_SITE_)
   
   if .not. oHttp:open()
      ? "Erro ao se conectar com o site :("
      quit
   endif
   
   cHtml := oHttp:readAll()
   oHttp:close()
   
   ? cHtml

return nil

meu ip

Enviado: 16 Abr 2014 12:24
por Abel
valeu Bencz,
ja fiz e deu certo, como era emergencial usei sua ideia.

Abraços,
ABEL