Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. http (GET) Aufruf mit username:password@ funktioniert nicht

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    http (GET) Aufruf mit username:password@ funktioniert nicht

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

      @arumpel
      Schau Dir mal statt "Data" den "Staus code" an.

      A 1 Reply Last reply Reply Quote 0
      • A
        arumpel @Codierknecht last edited by

        @codierknecht
        Da kommt 401 zurück was unauthorized heißt.
        Wenn ich die URL aber mit copy und paste in den Brower kopiere und aufrufe klappt es.
        Muss ich da irgendwas bei der Javascript Instanz noch einstellen oder installieren oder wo klemmts?

        Homoran 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @arumpel last edited by

          @arumpel sagte in http (GET) Aufruf mit username:password@ funktioniert nicht:

          Liegt das Ganze daran dass der Get Befehl insgesamt nicht wirklich funktioniert oder am Adapter der das mit Username und Passwort so irgendwie nicht rüberbringt?

          Der Get-Befehl wird schon funktionieren, aber evtl. nicht vollumfänglich mit Blockly. Je nach Art der zulässigen Authentifizierung (Basic, Bearer etc.) der Gegenseite müsste das evtl. in eine JS-Funktion ausgelagert werden.
          Bei der Übergabe per URL müssen Sonderzeichen im Kennwort übrigens URL-kodiert werden. Das macht der Browser automatisch, der Get-Befehl in Blockly vermutlich nicht.

          Näheres dazu kann vielleicht Matthias @haus-automatisierung sagen.

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @Codierknecht last edited by

            @codierknecht Wenn es so im Browser geht, ist es ja einfach nur Basic-Authentication. Das klappt so auch mit Blockly.

            Mal den Verbose-Mode im Script aktivieren. Dann sieht man mehr was genau gesendet wird und ob etwas zurückkommt.

            Homoran Codierknecht 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @haus-automatisierung last edited by

              @haus-automatisierung könnte/wäre/würde so ein Gerät vielleicht eventuell möglicherweise den User Agent prüfen?

              haus-automatisierung 1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active @Homoran last edited by haus-automatisierung

                @homoran Der User-Agent ist ja nur ein separater HTTP-Header und muss nichtmal übermittelt werden. Eine API würde den Agent-Header (hoffentlich) nie prüfen oder validieren.

                Dennoch übermittelt der JavaScript-Adapter bei httpGet einen Agent, weil manche damit ja auch Webseiten parsen usw. Siehe

                https://github.com/ioBroker/ioBroker.javascript/blob/7778007eb9304658aed10f4a975de91864ad26bc/lib/tools.js#L169

                Codierknecht 1 Reply Last reply Reply Quote 1
                • Codierknecht
                  Codierknecht Developer Most Active @haus-automatisierung last edited by

                  @haus-automatisierung sagte in http (GET) Aufruf mit username:password@ funktioniert nicht:

                  Wenn es so im Browser geht, ist es ja einfach nur Basic-Authentication. Das klappt so auch mit Blockly.

                  Es könnten aber vielleicht bestimmte Sonderzeichen Ärger machen. Wird der Kram von httpGet auch URL-codiert?

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @arumpel last edited by

                    @arumpel sagte in http (GET) Aufruf mit username:password@ funktioniert nicht:

                    Wenn ich die URL aber mit copy und paste in den Brower kopiere und aufrufe klappt es.

                    hast du dich in dem Browser schon mal manuell authentifiziert?

                    oder andersherum:
                    klappt das auch im Inkognito-Tab?

                    A 1 Reply Last reply Reply Quote 1
                    • Codierknecht
                      Codierknecht Developer Most Active @haus-automatisierung last edited by

                      @haus-automatisierung sagte in http (GET) Aufruf mit username:password@ funktioniert nicht:

                      Eine API würde den Agent-Header (hoffentlich) nie prüfen oder validieren.

                      Hatte ich auch schon. Musste dem Request dann einen unverfänglichen Agenten "unterjubeln" 😉

                      1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active @Codierknecht last edited by

                        @codierknecht sagte in http (GET) Aufruf mit username:password@ funktioniert nicht:

                        Es könnten aber vielleicht bestimmte Sonderzeichen Ärger machen.

                        Alles Mutmaßungen und bringt ja niemanden weiter. URL Escaping muss man natürlich selbst machen.
                        Aber all das würde man im Log des Verbose-Mode ja sehen...

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          arumpel @haus-automatisierung last edited by

                          @haus-automatisierung
                          Danke für die rege Beteiligung. Ich hoffe ich habe das richtige Log was Ihr sehen wollt. Geändert habe ich darin nur die dynamische DNS Adresse und username sowie passwort. Das sind aber alles nur normale Kleinbuchstaben im Original.

                          javascript.0 09:35:24.768 info script.js.BMS: Ändere BMS SOC
                          javascript.0 09:35:24.769 info script.js.BMS: httpGet(config={"method":"get","url":"http://dynamischedns.my.to:4718/set?soc=2","responseType":"text","responseEncoding":"utf8","timeout":60000,"auth":{"username":"username","password":"passwort"},"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}})
                          javascript.0 09:35:24.778 info script.js.BMS: getState(id=mqtt.0.BMS.Pack_Cell_Low_Voltage, timerId=undefined) => {"val":3.169,"ack":true,"ts":1745307321735,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1745307305763}
                          javascript.0 09:35:24.778 info script.js.BMS: sendTo(instance=telegram.0, cmd=send, msg={"text":"Akkustand kritisch! Geringste Zellenspannung: 3.169V"}, hasCallback=false)
                          javascript.0 09:35:25.979 info script.js.BMS: httpGet(url=http://username:passwort@dynamischedns.my.to:4718/set?soc=2, responseTime=1210ms)
                          javascript.0 09:35:25.980 info script.js.BMS: 401

                          1 Reply Last reply Reply Quote 0
                          • A
                            arumpel @Homoran last edited by arumpel

                            @homoran
                            Also im Chrome Inkognito Tab wenn ich die URL reinkopiere sagt er:

                            dynamischedns.my.to unterstützt keine sichere Verbindung
                            Du siehst diese Warnung, weil diese Website kein HTTPS unterstützt und du den Inkognitomodus nutzt. Weitere Informationen zu dieser Warnung...

                            Die URL die ich gepasted habe war aber nur http://... also ohne das s

                            Wenn ich es im Firefox Broswer im privaten Fenster mache klappt es.
                            Dann kommt ein message received vom Device zurück und der SOC wurde per Webhook geändert.

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @arumpel last edited by

                              @arumpel sagte in http (GET) Aufruf mit username:password@ funktioniert nicht:

                              Die URL die ich gepasted habe war aber nur http://... also ohne das s

                              war das auch hinterher noch so?
                              die Browser ändern das je nach Einstellungen eigenständig ab.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              1.0k
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              4
                              14
                              372
                              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