>Como faço para obter via VFP o meu endereço IP (externo) na internet?
>
>Encontrei uma maneira através de API, mas, me retorna o endereço IP da minha
>placa de rede e não o endereço IP que estou navegando.
>
>Preciso obter o endereço que me aparece como exemplo quando entro neste site:
>
http://www.whatismyip.com/Ola Edson,
O endereço que voce está querendo é o endereço externo, talvez de um firewall, ou designado a voce e não o da sua máquina. Pelas chamadas de API acho que voce não conseguirá, mas com a rotina abaixo voce poderá pegar a página do wwww.whatismyip.com e extrair o endereço ip.
oIE = Createobject("internetexplorer.application")
oIE.Visible = .T.
oIE.Navigate("
http://www.whatismyip.com")
If NavComplete(oIE) && Essa função diz quando a página foi carregada.
cHTML = oIe.Document.Body.InnerText
cIP = STREXTRACT(cHTML,"Your IP is ",CHR(13))
Endif
Function NavComplete
Lparameters toIE,tnTimeout
lnTimeOut = Iif(Type("tnTimeOut") = "N",tnTimeout,60)
lnElapsedSeconds = 0
lnStartSeconds = Seconds()
Do While .T.
If oIE.ReadyState = 4
Do While .T.
If toIE.Document.ReadyState = "complete"
Return .T.
Endif
If (Seconds() - lnStartSeconds) > lnTimeOut
Return .F.
Endif
Enddo
Endif
If (Seconds() - lnStartSeconds) > lnTimeOut
Return .F.
Endif
Enddo
Endfunc
Abraços
Rogerio Faezy