_IEcreate und _IEBodyreadtext

  • Ich benutze folgende Zeile, um eine URL zu öffnen und dann Text auf der Seite zu lesen. Mein Problem ist, dass die URL zweimal ausgeführt wird.

    Spoiler anzeigen
    [autoit]

    $open = _IECreate($url, 0, 0, 1)
    $1sText = _IEBodyReadText ($open)

    [/autoit]

    Die Seite antwortet mit reinem Text. Genau gesagt nur drei Zahlen.

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    2 Mal editiert, zuletzt von franzp (2. Oktober 2008 um 17:42)

  • cool, genau das klappt ! Danke. :D

    ups nee doch nicht.. wird immernoch zweimal aufgerufen.


    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.12.1
    Author: Franz Probst

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

    Script Function:
    smsjoker sms sender
    von Loginkennung des Accounts (Absenderkennung)
    passwort Passwort
    ziel Rufnummer des Empfängers
    absender eigen/anonym (eigene oder anonyme Absenderkennung)
    text die Nachricht (HTTP-kodiert)
    konto Anzeige des Restguthabens (optional)
    http://i2sms.de/cgi-perl/prepa…text=Hallo+Welt
    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <GUIConstantsEX.au3>
    #include <IE.au3>
    #include <Array.au3>
    #include <Inet.au3>

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

    $purl = "http://i2sms.de/cgi-perl/prepaid/private/smsversand.cgi?"
    $ziel = ""
    $nachricht = ""

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

    if FileExists("sms.ini") Then
    _Main()
    Else
    $num0 = InputBox("Absendernummer eingeben", "Bitte Absender Rufnummer eingeben")
    $pas = InputBox("Kennwort eigeben", "Passwort eingeben", "", "*")
    $num = StringReplace($num0, " ", "")
    IniWrite("sms.ini", "options", "absender", $num)
    IniWrite("sms.ini", "options", "passwort", $pas)
    MsgBox(64,"Information","Beim nächsten Start wird automatisch die Rufnummer: " & $num & @CRLF & "und das Kennwort als Login verwendet." & @CRLF)
    _Main()
    EndIf

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

    Func _Main()
    $ins = iniread("sms.ini", "options", "absender", "not found")
    $ins2 = iniread("sms.ini", "options", "passwort", "not found")

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\fpr\Desktop\autoit\sms\Form1.kxf
    $Main_form = GUICreate("SMS Sender V1.0 for http://www.smsjoker.de", 393, 292, 212, 134)
    $lb_empf = GUICtrlCreateLabel("Empfänger", 56, 48, 55, 17)
    $lb_abs = GUICtrlCreateLabel("Absender", 56, 16, 49, 17)
    $lb_Nachricht = GUICtrlCreateLabel("Nachricht", 56, 88, 50, 17)
    $box_Absender = GUICtrlCreateInput("", 120, 16, 225, 21)
    GUICtrlSetData(-1, $ins)
    $box_Empfaenger = GUICtrlCreateInput("", 120, 48, 225, 21)
    $txt_nachricht = GUICtrlCreateEdit("", 120, 88, 233, 105, 0x0004)
    GUICtrlSetLimit(-1, 160)
    $senden = GUICtrlCreateButton("senden", 264, 224, 89, 25, 0)
    $btn_reset = GUICtrlCreateButton("reset", 24, 224, 105, 25, 0)
    $Datei = GUICtrlCreateMenu("&Datei")
    $bt_optionen = GUICtrlCreateMenuItem("Optionen", $Datei)
    $bt_help = GUICtrlCreateMenuItem("Hilfe", $Datei)
    $bt_about = GUICtrlCreateMenuItem("Über", $Datei)
    $bt_adressbuch = GUICtrlCreateMenuItem("Adressen", $Datei)
    $bt_ende = GUICtrlCreateMenuItem("Beenden", $Datei)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $bt_ende
    Exit
    Case $senden
    $1 = GUICtrlread($box_Empfaenger)
    $2 = GUICtrlRead($txt_nachricht)
    if $1 = "" then
    MsgBox(64, "", "Empfänger darf nicht leer sein.")
    Exit
    EndIf
    if $2 = "" Then
    MsgBox(64, "", "Nachrichtentext darf nicht leer sein.")
    Exit
    EndIf

    $finaltext = _UnicodeURLEncode(GUICtrlread($txt_nachricht))
    $finalempf = StringReplace(GUICTRLread ($box_Empfaenger), " ", "")
    $url = $purl & "von=" & $ins & "&passwort=" & $ins2 & "&absender=eigen" & "&ziel=" & $finalempf & "&text=" & $finaltext
    ;MsgBox(64,"Fehler","Code: "& $url)
    ;$sText = _INetgetsource($url)
    ;$open = _IECreate($url, 0, 0, 1)
    ;$1sText = _IEBodyReadText ($open)
    if _INetGetSource($url) = "200" then
    MsgBox(64,"success","Nachricht "& GUICtrlread($txt_nachricht) & " wurde erfolgreich verschickt.")
    GUICtrlSetData($txt_nachricht, "")
    GUICtrlSetData($box_Empfaenger, "")
    Else
    $sText = _INetGetSource($url)
    if $sText > "500" Then
    MsgBox(64,"Fehler","Code: "& $sText)
    Else
    MsgBox(64,"Fehler","unkommentierter Fehler.")
    EndIf
    EndIf

    Case $bt_optionen
    GUISetState ( @SW_HIDE, $Main_form )
    _optionen()
    Case $btn_reset
    GUICtrlSetData($txt_nachricht, "")
    GUICtrlSetData($box_Empfaenger, "")
    Case $bt_help
    MsgBox(64,"HILFE","Hier entsteht die Hilfe.")
    Case $bt_adressbuch
    GUISetState ( @SW_HIDE, $Main_form )
    _adressbuch()
    EndSwitch
    WEnd
    EndFunc

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

    Func _adressbuch()

    ;if FileExists("adressen.ini") = 0 Then
    IniWrite("adressen.ini", "adressen", "Franz", "01636388546")
    $ini = IniReadSection("adressen.ini", "adressen")
    _ArrayDisplay($ini)

    ;EndIf

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

    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\fpr\desktop\autoit\sms\adressbuch.kxf
    $Form1_1 = GUICreate("Adressbuch", 599, 382, 194, 119)
    $Tab1 = GUICtrlCreateTab(24, 16, 545, 345)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $sht_liste = GUICtrlCreateTabItem("Liste")
    $list = GUICtrlCreateList("", 40, 56, 369, 279)
    $btn_apply = GUICtrlCreateButton("übernehmen", 424, 304, 105, 25, 0)
    $list_new = GUICtrlCreateTabItem("neuer Eintrag")
    $Input1 = GUICtrlCreateInput("Input1", 128, 64, 209, 21)
    $Input2 = GUICtrlCreateInput("Input2", 128, 96, 209, 21)
    $lb_name = GUICtrlCreateLabel("Name", 48, 64, 32, 17)
    $lb_nummer = GUICtrlCreateLabel("Nummer", 48, 96, 43, 17)
    $btn_speichern = GUICtrlCreateButton("speichern", 240, 136, 97, 25, 0)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    GUICtrlSetData($list, "test|test2|teset2")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Tab1
    EndSwitch
    WEnd

    EndFunc

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

    Func _optionen()
    $ins = iniread("sms.ini", "options", "absender", "not found")
    $ins2 = iniread("sms.ini", "options", "passwort", "not found")

    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\fpr\desktop\autoit\sms\optionen.kxf
    $opt_form = GUICreate("login ändern", 291, 150, 274, 220)
    $Label1 = GUICtrlCreateLabel("Login", 32, 24, 30, 17)
    $Label2 = GUICtrlCreateLabel("Passwort", 32, 64, 47, 17)
    $opt_login = GUICtrlCreateInput("", 104, 24, 137, 21)
    GUICtrlSetData(-1, $ins)
    $opt_passwd = GUICtrlCreateInput("", 104, 64, 137, 21)
    GUICtrlSetData(-1, $ins2)
    $bt_speichern = GUICtrlCreateButton("speichern", 168, 96, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $bt_speichern
    IniWrite("sms.ini", "options", "absender", Guictrlread($opt_login))
    IniWrite("sms.ini", "options", "passwort", Guictrlread($opt_passwd))
    MsgBox(64,"success","erfolgreich gespeichert!")
    GUISetState ( @SW_HIDE, $opt_form)
    _Main()
    Case $GUI_EVENT_CLOSE
    GUISetState ( @SW_HIDE, $opt_form)
    _Main()
    EndSwitch
    WEnd
    EndFunc ;=== _optionen

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

    Func _UnicodeURLEncode($UnicodeURL)
    $UnicodeBinary = StringToBinary ($UnicodeURL, 4)
    $UnicodeBinary2 = StringReplace($UnicodeBinary, '0x', '', 1)
    $UnicodeBinaryLength = StringLen($UnicodeBinary2)
    Local $EncodedString
    For $i = 1 To $UnicodeBinaryLength Step 2
    $UnicodeBinaryChar = StringMid($UnicodeBinary2, $i, 2)
    If StringInStr("$-_.+!*'(),;/?:@=&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", BinaryToString ('0x' & $UnicodeBinaryChar, 4)) Then
    $EncodedString &= BinaryToString ('0x' & $UnicodeBinaryChar)
    Else
    $EncodedString &= '%' & $UnicodeBinaryChar
    EndIf
    Next
    Return $EncodedString
    EndFunc ;=== _UnicodeURLEncode

    [/autoit]

    Das Adressbuch ist noch nicht fertig :)

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    2 Mal editiert, zuletzt von franzp (2. Oktober 2008 um 17:46)

  • ja ich weiß ist viel zu lesen, aber kann jemand in Zeile 91 schauen. Das sollte doch, wenn das Ergebniss = 200 ist nur einmal die url ausführen.

    vielen Dank.

    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---