cURL Aufruf mit Autoit

  • Hallo liebe AutoIt Nutzer,

    ich habe versucht mit run oder shellexecute einen https Aufruf zu starten, der in der Windows-Eingabeaufforderung funktioniert. Hier habe ich ihn wie folgt eingegeben:
    curl.exe -k -F "token=L6WmABfZsk2cAeVh5MEpZyGnNnq3sA" -F "user=gkvDRLHuRHIAVZAhc2ZNhSjpS32Qdp" -F "message=hello world" https://api.pushover.net/1/messages.json

    Mit Autoit bekomme ich dieses nicht hin und bitte Euch um Eure Mithilfe.
    Mein Versuch:

    $parameter="-k -F"
    $token="L6WmABfZsk2cAeVh5MEpZyGnNnq3sA"
    $user="gkvDRLHuRHIAVZAhc2ZNhSjpS32Qdp"
    $message="Hier kommt die Nachricht"
    $url="https://api.pushover.net/1/messages.json"

    ShellExecute( "curl.exe", $parameter &' "token=' & $token & '" -F ' & '"user=' & $user & '" -F ' & '"message=' & $message & '"' & $url )

    Was ist der Fehler? ?(
    Mabbi

  • Nächtes Mal tu bitte deinen Quellcode in

    Code
    [autoit]Hier dein Au3-Code[/autoit]

    ;)

    [autoit]

    $parameter="-k -F"
    $token="L6WmABfZsk2cAeVh5MEpZyGnNnq3sA"
    $user="gkvDRLHuRHIAVZAhc2ZNhSjpS32Qdp"
    $message="Hier kommt die Nachricht"
    $url="https://api.pushover.net/1/messages.json"

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

    ShellExecute( "curl.exe", $parameter &' "token=' & $token & '" -F ' & '"user=' & $user & '" -F ' & '"message=' & $message & '"' & $url )

    [/autoit]

    Und da ich mich nicht mit cURL auskenne, habe ich dir mal ein Beispiel geschrieben, wie es mit WinHTTP funktionieren _sollte_.
    (Warum auch nicht)...

    Spoiler anzeigen
    [autoit]

    $token = "L6WmABfZsk2cAeVh5MEpZyGnNnq3sA"
    $user = "gkvDRLHuRHIAVZAhc2ZNhSjpS32Qdp"
    $message = "Hier kommt die Nachricht"
    $url = "https://api.pushover.net/1/messages.json"

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

    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", $url, False)

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

    $oHTTP.Send("token=" & $token & "&user=" & $user & "&message=" & $message)
    $sReturn = $oHTTP.ResponseText

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

    MsgBox(0, "WinHTTP-Response", $sReturn)

    [/autoit]


    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Hallo, vielen Dank für die schnelle Antwort.
    Ich würde auch WinHTTP nutzen, sofern es funktioniert. Ich bekomme aber auch hiermit eine Fehlermeldung ("application token is invalid").
    Diesen habe ich nun schon mehrmals neu erstellen lassen und abgeändert, ohne Erfolg. Kann es sein, dass das Zeichenformat nicht stimmt und der token falsch übertragen wird?

    [autoit]


    $token = "fJgbiio1JA9xkjFxoZYb4x2ygNuWrz"
    $user = "gkvPRLLuRHLAVZAhq2ZNhSjpS22Qdp"
    $message = "Hier steht der Text"

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

    $url = "https://api.pushover.net/1/messages.json"
    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", $url, False)
    $oHTTP.Send("token=" & $token & "&user=" & $user & "&message=" & $message)
    $sReturn = $oHTTP.ResponseText
    MsgBox(0, "Sent Message", $sReturn)

    [/autoit]
  • Pain hat mir auch schon halb geholfen, danke Pain :) Aber aus irgend einem Grund testet er selbst nicht.

    Ich bekomme einen Status1, wenn ich das wie folgt mache:


    Die Seite scheint etwas sensibel zu sein. Wenn ich da sowas mitschicke, gibts nen Fehler:

    Code
    ;~ $oHTTP.SetRequestHeader("Content-Type", "application/xml") ;Add Content-Type
  • Super,
    da war also doch etwas mit der Codierung des API-Token nicht ganz korrekt.
    So klappt es!! *freu*

    Herzlichen Dank nochmal!

  • Freut mich! :)

    Und das es ja jetzt funktioniert, setze bitte den Thread-Präfix auf "abgeschlossen". ;)
    (1. Beitrag bearbeiten!)

    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski