Ab und an möchte ich wissen, mit welcher IP-Adresse ich im Netz unterwegs bin. Es gibt viele Lösungen, die einen IP-Service verwenden, wie WhatIsMyIP. Eigentlich nicht schlecht aber damit bin ich vom Wohlwollen anderer abhängig. Den Dienst kann ich mir auf meinem eigenen Server einrichten.

Ich lege ein Text-Dokument an mit diesem Inhalt an
<html><body><p><!--#echo var="REMOTE_ADDR"--></p></body></html>
Das Dokument lade ich auf meinen WebServer, in den Ordner utils und nenne es myIP.shtml. Nun kann ich mit diesen 4D Zeilen, mir stets meine aktuelle IP-Adresse holen.

$url:=“http://www.myWebSpace.de/utils/myIP.shtml“
$error_L:=HTTP Get($url;$response)
$rootRef:=DOM Parse XML variable($response)
$xpath:=“html/body/p“
$ipRef:=DOM Find XML element($rootRef;$xpath)
DOM GET XML ELEMENT VALUE($ipRef;$myIP)
DOM CLOSE XML($rootRef)

Ich dachte ich sollte in den Kopf der HTML-Seite diese XML-Deklaration unterbringen:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

doch der 4D XML-Parser kommt auch ohne zurecht.



Now and then I need to know, which is the IP I’m visible with outside my house. There are a couple of services which can by used, like WhatIsMyIP. Not bad most of the time. But then there might come a time, that service is EOL. Better be independend and host myself.

Therefor I create a text-document with this content
<html><body><p><!--#echo var="REMOTE_ADDR"--></p></body></html>
I upload that document onto my WebServer into folder utils and name it myIP.shtml. Using those lines of 4D-code I easily get my current IP-address.

$url:=“http://www.myWebSpace.de/utils/myIP.shtml“
$error_L:=HTTP Get($url;$response)
$rootRef:=DOM Parse XML variable($response)
$xpath:=“html/body/p“
$ipRef:=DOM Find XML element($rootRef;$xpath)
DOM GET XML ELEMENT VALUE($ipRef;$myIP)
DOM CLOSE XML($rootRef)

First I thought about adding this XML-declaration:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

but the 4D XML-Parser does read the simple document properly. Nothing to bother about.