Wie ist meine IP und IE

  • Hallo Zusammen,

    bin gerade dabei mich mit der IE.au3 auseinander zusetzen und will als Einstieg mir eine Funktion mit Wie ist meine IP zu basteln.
    Da ich immer Probs mit meinem Anbieter habe, will ich das Script zu bestimmten Zeiten immer einen Speedtest durchführt und mir das Ergebnis in ner ini oder Excel speichert.
    Als Laie habe ich es soweit schon geschafft, dass das Skript wartet bis die Prüfung abgeschlossen ist. Mit Umwegen über die jeder von euch Pros wohl lacht :).
    Ich will dan den Quelltext auslesen und mir die Ergebnisse filtern, aber ich finde im Quelltext die Ergebnisse nicht, weil Seite wohl mit Java arbeitet.
    Kann mir wer erklären wie ich daran komme????


    Spoiler anzeigen


    #include <WindowsConstants.au3>
    #include <IE.au3>
    #include <INET.au3>
    Global $ok
    $oIE=_IECreate("http://www.wieistmeineip.de/speedtest/")
    WinWaitActive("[CLASS:IEFrame]")
    ControlClick("[CLASS:IEFrame]","","[CLASS:Internet Explorer_TridentCmboBx; INSTANCE:2]","left",1)
    Send("+{DOWN 9}")
    Send("{Enter}")
    Send("{Tab}")
    Send("+{DOWN 3}")
    Send("{Enter}")
    Send("{Tab}")
    Send("41061")
    Send("{Tab}")
    Send("{Enter}")

    do
    Sleep(1)
    $title=_IEPropertyGet($oIE,"locationurl")
    if StringInStr($title,"http://www.wieistmeineip.de/speedtest/ergebnis.php")>0 then $ok="ok"
    until $ok="ok"

    MsgBox(0,"","speedtest abgeschlossen")

  • Suche hilft....[ gelöst ] Externe IP auslesen?

  • Hallo billemg,

    Zitat

    Uns wurde berichtet, dass bei Verwendung von Sicherheits-Software (z.B. GData, ZoneAlarm und anderen) zu hohe Geschwindigkeiten gemessen werden können. Diese Programme können die Messung beeinflussen. Falls Sie diese Software oder eine ähnliche im Einsatz haben, sollten Sie sie für die Dauer des Tests nicht nur deaktivieren, sondern komplett ausschalten. Nach dem Test aber bitte wieder einschalten!

    Allein dieser Hinweis würde mich schon daran hindern dein Skript auszuführen, [Edit] ich habe auch keinen DSL-Anschluss sorry[/Edit]

    Wie man seine IP bekommt hat dir ja Andy schon einen Link gegeben. Um Geschwindigkeit (zmdindest Download) zu messen tut es doch das leicht abgeänderte Beispiel zu InetGetInfo:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <Date.au3>
    #include <array.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7") ; User-Agent (Header) von AutoIt3 ändern, da beim Webhoster dieser gesperrt ist

    [/autoit] [autoit][/autoit] [autoit]

    Global $tDiff, $iToDo, $iRTime, $sMSG, $nKBPerSec
    $sUrl = "http://www.autoit.de/index.php?page=Attachment&attachmentID=11114&h=beba65ec5902954c0a69497d69cec8e8cda0c556"
    ;url eventell gegen einen anderen größeren Download tauschen, dann aber bitte auch $sPath ändern
    $sPath = @DesktopCommonDir & "\JaYT-DwiMP3-P.exe"
    Global $iSize = InetGetSize($sUrl) ;siehe Hilfe zu InetgetSize
    If $iSize = 0 Then $iSize = 996371 ;sollte eigentlich nicht vorkommen
    Global $tStart = TimerInit()
    $hDownLoad = InetGet($sUrl, $sPath, 1, 1)
    Dim $aData[3]

    [/autoit] [autoit][/autoit] [autoit]

    Do
    Sleep(250)
    If $aData[0] > 0 Then
    _CalcPerformance($aData[0], $aData[2])
    TrayTip("downloading", $sMSG, 10, 16)
    EndIf
    $aData = InetGetInfo($hDownLoad, -1)
    Until $aData[2]
    $aData = InetGetInfo($hDownLoad, -1)
    _CalcPerformance($aData[0], $aData[2])

    [/autoit] [autoit][/autoit] [autoit]

    InetClose($hDownLoad) ; Handle schließen um die Resourcen freizugeben.
    MsgBox(0, "", "Bytes gelesen: " & $aData[0] & @CRLF & _
    "Größe: " & $aData[1] & @CRLF & _
    "beendet?: " & $aData[2] & @CRLF & _
    "Erfolgreich?: " & $aData[3] & @CRLF & _
    "@error: " & $aData[4] & @CRLF & _
    "@extended: " & $aData[5] & @CRLF & @CRLF & _
    "KiloBytes/sec:" & $nKBPerSec)

    [/autoit] [autoit][/autoit] [autoit]

    ;FileDelete(@ScriptDir & "\Testdownload.htm")

    [/autoit] [autoit][/autoit] [autoit]

    Func _CalcPerformance($iRead, $bDone)

    [/autoit] [autoit][/autoit] [autoit]

    $tDiff = TimerDiff($tStart)
    $iToDo = Round(($iSize - $iRead) / 1024, 2)
    $nKBPerSec = Round($iRead / $tDiff * 1000 / 1024, 2)
    $iPercent = Round($iRead / $iSize * 100, 2)
    if ($iSize = 0) And Not $bDone Then
    $iRTime = "unbekannt"
    Else
    $iRTime = Round($iToDo / $nKBPerSec, 0)
    EndIf
    $sMSG = Round($iRead / 1024) & "/" & Round($iSize / 1024, 0) & " KB " & " = " & $iPercent & "%" & @CRLF
    $sMSG &= "durchschnittlich KB/s = " & $nKBPerSec & @CRLF ;& "aktuell: KB/s " & $nKBAct & @CRLF
    If Not $bDone Then
    $sMSG = $sMSG & "vermutlich zu Ende:" & StringLeft(StringRight(_DateAdd('s', $iRTime, _NowCalc()), 8), 5)
    ;ConsoleWrite($sMSG & @CRLF)
    Else
    $sMSG = $sMSG & "benötigte Zeit = " & Round($tDiff / 1000, 0)
    EndIf
    ;if $iSize > 0 Then $sMSG = $sMSG & " sec"
    EndFunc ;==>_CalcPerformance

    [/autoit]

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (30. August 2010 um 22:50)

  • es geht sich ja nicht darum das Skript proffesionell zu nutzen, sondern ich will dadurch ie.au3 lernen.

    Wie komme ich denn nun an die Ergebnisse ran? Kann ich die Javascripts auswerten?

  • Du kannst den Quellcode auslesen und die einzelnen Daten rauspicken. Die Funktionen kommen mir nicht mehr im Sinn.

  • Ich hatte da doch auch mal was mit meinem "Get_All_Information". (Signatur)

    [autoit][/autoit][autoit][/autoit][autoit]

    #include <Array.au3>
    #include <String.au3>
    #include <INet.au3>

    [/autoit][autoit][/autoit][autoit]

    $source = _inetgetsource("http://www.wieistmeineip.de/")
    $IP_arr = _StringBetween($source,"<h1 class=","</h1>")
    $IP = StringTrimleft($IP_arr[0],5)
    Msgbox(0,"IP Adresse","Deine IP Adresse: " & $IP)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • Ich werfe mal DynDNS in den Raum.
    Dann einfach mit dem Ping-Befehl die DynDNS adresse anpingen und gut.

    Beispiel:

    Spoiler anzeigen
    [autoit]


    Dim $dyndns = "<dein-dyndnsname>"

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"Deine Externe IP",read_ext_ip($dyndns))

    [/autoit] [autoit][/autoit] [autoit]

    Func read_ext_ip($f_dyndns)
    Local $erg
    $pid = Run(@ComSpec & " /c ping -n 1 "&$f_dyndns, "", "", 2)
    sleep(100)
    While 1
    $erg = StdoutRead($pid)
    If @error Then ExitLoop
    If $erg <> "" Then
    $array = StringRegExp($erg, '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b', 2)
    return $array[0]
    EndIf
    WEnd
    EndFunc ;==>read_ext_ip

    [/autoit]

    MfG
    Der_Doc

  • Hallo GtaSpider,

    leider sind die Werte dieser Seite zumindest bei meinem Test (Web'n'Walk Zugang leider nur GPRS-Verbindung) absolut unrealistisch:

    hier im Verglich dazu der Wert den mein Skript (in
    Post5: [ offen ] Wie ist meine IP und IE veröffnetlicht) ermittelt: KiloBytes/sec:18.66. => 149,28 kilobits/sec

    mfg autoBert