Page 1 of 1
ip address
Posted: Wed Feb 01, 2006 10:19 am
by Richard Chidiak
Hello
How can we know the pc ip address on the internet
Gethostbyname(pcname) returns the internal ip
gethostbyname("
www.......") returns the web page's address
I am interested to know at one moment my own ip address on the web
Thanks for the help
Richard
Posted: Wed Feb 01, 2006 4:03 pm
by James Bott
FUNCTION GetIP()
local oSocket := TSocket():New( 2000 ), nIp := oSocket:cIPAddr
oSocket:End()
RETURN (nIp)
Posted: Wed Feb 01, 2006 6:04 pm
by Antonio Linares
James,
Added to FWH, thanks
ops, it shows the LAN IP, not the Internet IP...
Posted: Wed Feb 01, 2006 9:23 pm
by Richard Chidiak
Antonio Linares wrote:James,
Added to FWH, thanks
ops, it shows the LAN IP, not the Internet IP...
Right,
I hope to have a function for retreiving the Internet IP very soon. I have the information available at the moment in a txt file.
I need to parse this txt file quickly to search for a string (It is a xml file basically) any idea ?
Posted: Wed Feb 01, 2006 10:07 pm
by Richard Chidiak
Richard Chidiak wrote:Antonio Linares wrote:James,
Added to FWH, thanks
ops, it shows the LAN IP, not the Internet IP...
Right,
I hope to have a function for retreiving the Internet IP very soon. I have the information available at the moment in a txt file.
I need to parse this txt file quickly to search for a string (It is a xml file basically) any idea ?
Here is the function
#INCLUDE "FIVEWIN.CH"
#include "tip.ch"
local myip := getmyip()
function getmyip()
LOCAL aEol := { Chr(13) + Chr(10), Chr(10) }, ;
ctr := 0, ;
lok := .f., ;
myip := space(80), ;
sLine,cfile
cfile := CURDRIVE() + ":" + CURDIR() + "\myip.txt"
IF FILE(CFILE)
ERASE (CFILE)
ENDIF
oUrl := tURL():New( "
http://www.adresseip.com/" )
IF Empty( OUrl )
MSGINFO("URL NOT FOUND")
RETURN NIL
ENDIF
oClient := tIPClient():New( oUrl )
IF Empty( oClient )
MSGINFO("Invalid url ")
RETURN NIL
ENDIF
oClient:nConnTimeout := 20000
IF oClient:Open( oUrl )
IF ! oClient:ReadToFile( cFile )
MSGINFO("Generic error in writing." + cFile)
ENDIF
oClient:Close()
endif
IF FILE(CFILE)
hFile := FOPEN(CFILE)
WHILE HB_FReadLine( hFile, @sLine, aEol ) == 0
ctr++
IF subs(ALLTRIM(sLine),1,8) == "<SPAN ID" // ip is next line
ctr := 1
lok := .t.
ENDIF
IF CTR = 2 .AND. lok
myip := sline
ENDIF
// ? sLine
END
fclose(hFile)
ENDIF
return myip