Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Curl Befehl unter Windows geht nicht wie unter Linux Reolink

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Curl Befehl unter Windows geht nicht wie unter Linux Reolink

    This topic has been deleted. Only users with topic management privileges can see it.
    • nik82
      nik82 Most Active last edited by

      Hallo,
      ich glaub es ist nur eine Kleinigkeit mit irgendwelchen Satzzeichen, aber ich beiße mir hier schon ewig die Zähne aus.

      Folgendes: Ich will einen Curl Befehl unter einer Iobroker Windows Installation mit dem Exec Befehl ausführen.

      Wenn ich den Curl Befehl unter einer Iobroker Linux Version (oder hier im Beispiel auf einer CCU3, weil ich gerade die Iobroker Linux Version nicht da habe) ausführe funktioniert er, hier der Befehl:

      curl -s POST "http://192.168.xx.xxx/cgi-bin/api.cgi?user=admin&password=XXX" -d '[{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ToPos","speed":64,"id":1}}]'
      

      Es kommt eine saubere Ausgabe und die Cam bewegt sich:

      f25cccde-54c1-4c7e-aa85-80faa8183e48-image.png

      Mache ich das ganze unter Windows, dann funktioniert es nicht, es kommt eine fehlerhafte Ausgabe:

      56db5a58-d68b-4586-9b1f-ef20e19afb26-image.png

      Hat hier jemand eine Idee?
      Schonmal Danke im Voraus.

      P.S. Ich weiß das es einen Reolink-Adapter gibt, aber da fehlen mir einige Funktionen, mir gehts also nicht nur um PTZ, dass soll nur ein Beispiel sein.

      mcm1957 1 Reply Last reply Reply Quote 0
      • mcm1957
        mcm1957 @nik82 last edited by

        @nik82
        Du hast nicht zufällig Sonderzeichen im Passwort?

        nik82 1 Reply Last reply Reply Quote 0
        • nik82
          nik82 Most Active @mcm1957 last edited by

          @mcm57
          Shit, doch ich habe eine Ausrufezeichen drin.
          Geht das unter Windows nicht mit Sonderzeichen?
          Möchte ungern jetzt mein Passwort überall ändern, habe mehrere Cams und schon einige andere scripte laufen wo das Passwort schon drin ist.

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @nik82 last edited by

            @nik82 sagte in Curl Befehl unter Windows geht nicht wie unter Linux Reolink:

            Geht das unter Windows nicht mit Sonderzeichen?

            Gemeinhin kann man diese Strings escapen. In Anführungszeichen (in diversen Formen) setzen ist da gängig. Wie das aber bei Windows curl geht weiß ich auch nicht.

            mcm1957 1 Reply Last reply Reply Quote 1
            • mcm1957
              mcm1957 @Thomas Braun last edited by

              Ev hilft das da ja:
              https://stackoverflow.com/questions/11444347/curl-exclamation-mark-in-user-auth-password

              BananaJoe 1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active @mcm1957 last edited by

                @mcm57 unter Windows musst du viel mehr escapen, zum Beispiel alle Anführungsstriche.
                Hier ein Beispiel:

                curl.exe -X POST 
                         -H "Content-Type:application/json"  
                         -d "{\"jsonrpc\": \"2.0\",\"method\":\"user.login\",\"params\":{\"user\":\"admin\",\"password\":\"test1234\"},\"id\":1}"
                         http://10.106.207.105/api_jsonrpc.php
                

                Dein Aufruf müsste also eher so sein:

                -d "[{\"cmd\":\"PtzCtrl\",\"action\":0,\"param\":{\"channel\":0,\"op\":\"ToPos\",\"speed\":64,\"id\":1}}]"
                

                Und statt ' dann ", also normale Anführungszeichen nur ohne Escapen
                Das mit dem Passwort könnte hinzu kommen

                nik82 1 Reply Last reply Reply Quote 1
                • nik82
                  nik82 Most Active @BananaJoe last edited by

                  @bananajoe

                  Klasse, vielen Dank.

                  So klappt es, und wenn man die URL noch in Anführungsstriche macht, dann sogar mit Sonderzeichen im Passwort:

                  curl.exe -X POST -H "Content-Type:application/json" -d "[{\"cmd\":\"PtzCtrl\",\"action\":0,\"param\":{\"channel\":0,\"op\":\"ToPos\",\"speed\":64,\"id\":1}}]" "http://192.168.xx.xx/cgi-bin/api.cgi?user=admin&password=Pass!wort"
                  
                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate
                  FAQ Cloud / IOT
                  HowTo: Node.js-Update
                  HowTo: Backup/Restore
                  Downloads
                  BLOG

                  545
                  Online

                  31.9k
                  Users

                  80.1k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  742
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo