Hi,
ich habe mich mal ein wenig mit IP Ortung beschäftigt und möchte euch nun meine neuste UDF vorstellen, die IP Adressen mit dem Service uTrace ortet.
Man erhält folgende Informationen:
- ISP
- Organisation des ISP
- Region
- Länder Code
- Breitengrad
- Längengrad
leider ist die Anzahl der Ortungen pro Tag begrenzt
Jeder User kann am Tag 100 Ortungen durchführen. (Die bereits verbrauchten werden auch angezeigt)
und nun viel Spaß damit ![]()
Spoiler anzeigen
; #FUNCTION# ======================================================================================
; Name ..........: _GetIPLocation()
; Description ...: Gets the location of a IP address.
; Syntax ........: _GetIPLocation($sIP)
; Parameters ....: $sIP - IP or Hostname to query the location.
; Return values .: Success
; |Return an Array with the following format:
; |[0] IP
; |[1] Host
; |[2] ISP
; |[3] Organization
; |[4] Region
; |[5] Country Code
; |[6] Latitude
; |[7] Longitude
; |[8] Used querys at that day (max. 100)
; Failure
; |Returns -1 and set @error to the following values.
; |1 $sIP is empty.
; |2 InetRead returns an error. (Error code of InetRead is in @extendet)
; |3 The DOM Wrapper object does not exist.
; Author ........: Sprenger120
; Related .......:
; Example .......: Yes
; $aArray = _GetIPLocation("www.autoit.de")
; _ArrayDisplay($aArray)
; =================================================================================================
Func _GetIPLocation($sIP)
Local $sData, $aReturn[9], $iIndex = 0, $objNode, $objNodeChild, $oDOM
If $sIP = "" Then Return SetError(1, 0, -1)
$sData = InetRead("http://xml.utrace.de/?query=" & $sIP)
If @error Then Return SetError(2, 0, -1)
$sData = BinaryToString($sData)
$oDOM = ObjCreate("Msxml2.DOMDocument.6.0")
If Not IsObj($oDOM) Then Return SetError(3, 0, -1)
$oDOM.loadXML($sData)
For $objNode In $oDOM.selectNodes("/results/result")
For $objNodeChild In $objNode.childNodes()
$aReturn[$iIndex] = $objNodeChild.Text()
$iIndex += 1
If $iIndex = 9 Then ExitLoop
Next
ExitLoop
Next
Return $aReturn
EndFunc