Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. http (GET) Aufruf mit username:password@ funktioniert nicht

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    312

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

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

Geplant Angeheftet Gesperrt Verschoben Blockly
17 Beiträge 5 Kommentatoren 1.2k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • CodierknechtC Codierknecht

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

    A Offline
    A Offline
    arumpel
    schrieb am zuletzt editiert von
    #3

    @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?

    HomoranH 1 Antwort Letzte Antwort
    0
    • A arumpel

      Hallo

      ich bekomme folgenden Scriptteil einfach nicht zum laufen.
      Das Script wird ausgeführt, zumindest wird die debug Message ausgegeben, danach passiert aber nichts weiter.

      3c7694d9-805a-4629-a16b-67de17146673-image.png

      Wenn ich die Adresszeile in den Browser eingebe dauert es zwar 10-20s aber dann sagt das Gerät message received auf der Browserseite und es hat funktioniert.

      Die ganze Adresszeile die aufgerufen werden soll sieht ungefähr so aus:
      http://username:passwort@dynamischedns.my.to:1234/set?soc=2

      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?

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #4

      @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.

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      haus-automatisierungH 1 Antwort Letzte Antwort
      0
      • CodierknechtC Codierknecht

        @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-automatisierungH Offline
        haus-automatisierungH Offline
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #5

        @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.

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        HomoranH CodierknechtC 2 Antworten Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @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.

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #6

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

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

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

            haus-automatisierungH Offline
            haus-automatisierungH Offline
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von haus-automatisierung
            #7

            @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

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            CodierknechtC 1 Antwort Letzte Antwort
            1
            • haus-automatisierungH haus-automatisierung

              @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.

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #8

              @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?

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              haus-automatisierungH 1 Antwort Letzte Antwort
              0
              • A arumpel

                @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?

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #9

                @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?

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                A 1 Antwort Letzte Antwort
                1
                • haus-automatisierungH 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

                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #10

                  @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" ;-)

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  1 Antwort Letzte Antwort
                  0
                  • CodierknechtC Codierknecht

                    @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-automatisierungH Offline
                    haus-automatisierungH Offline
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #11

                    @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...

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    A 1 Antwort Letzte Antwort
                    0
                    • haus-automatisierungH haus-automatisierung

                      @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 Offline
                      A Offline
                      arumpel
                      schrieb am zuletzt editiert von
                      #12

                      @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 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @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 Offline
                        A Offline
                        arumpel
                        schrieb am zuletzt editiert von arumpel
                        #13

                        @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.

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • A 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.

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #14

                          @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.

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          A 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @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.

                            A Offline
                            A Offline
                            arumpel
                            schrieb am zuletzt editiert von
                            #15

                            @homoran

                            Im Chrome habe ich es mehrfach probiert. Wenn ich paste mache und da http://... drin steht kommt die Fehlermeldung das kein HTTPS unterstützt wird. In der Adresszeile fehlt aber der Zusatz http:// oder auch https:// komplett, nur der Rest der Adresse steht noch drin.

                            Trotzdem funktioniert es wenn ich es im Firefox im privaten Fenster eingebe. Das Device gibt dann eine Rückmeldung und der Webhook hat funktioniert.

                            Nur eben in Blockly mit Get Auffruf funktioniert das nicht. Ich kann so halt nichts automatisieren.

                            P 1 Antwort Letzte Antwort
                            0
                            • A arumpel

                              @homoran

                              Im Chrome habe ich es mehrfach probiert. Wenn ich paste mache und da http://... drin steht kommt die Fehlermeldung das kein HTTPS unterstützt wird. In der Adresszeile fehlt aber der Zusatz http:// oder auch https:// komplett, nur der Rest der Adresse steht noch drin.

                              Trotzdem funktioniert es wenn ich es im Firefox im privaten Fenster eingebe. Das Device gibt dann eine Rückmeldung und der Webhook hat funktioniert.

                              Nur eben in Blockly mit Get Auffruf funktioniert das nicht. Ich kann so halt nichts automatisieren.

                              P Offline
                              P Offline
                              peterfido
                              schrieb am zuletzt editiert von
                              #16

                              @arumpel Was ist das für ein Server, welcher unverschlüsselt im Internet hängt? Da kann ja jeder dazwischenliegende Hop mitlesen.

                              Ist es Dein eigener, dann schalte die Verschlüsselung ein.

                              Es gibt noch den Parameter validateCertificate

                              httpGet( URL, { validateCertificate: false, timeout: 2000, responseType: 'arraybuffer' }, async (err, response) => {
                              ...
                              ...
                              ...
                              

                              wie das in Blockly aussieht, weiß ich allerdings nicht. Auch nicht, ob Dir das weiterhilft.

                              In Chrome zeigt er schon das Protokoll an. Dafür muss man in die Adresszeile reinklicken. Die Screenshots sind zwar vom Vivaldi, gilt aber auch für Chrome:

                              8f85c6a1-5497-42c4-a3eb-6c6c2ed7bd5b-image.png

                              f48afba3-482e-4973-a16d-a2c073db2b84-image.png

                              Gruß

                              Peterfido


                              Proxmox auf Intel NUC12WSHi5
                              ioBroker: Debian (VM)
                              CCU: Debmatic (VM)
                              Influx: Debian (VM)
                              Grafana: Debian (VM)
                              eBus: Debian (VM)
                              Zigbee: Debian (VM) mit zigbee2mqtt

                              A 1 Antwort Letzte Antwort
                              0
                              • P peterfido

                                @arumpel Was ist das für ein Server, welcher unverschlüsselt im Internet hängt? Da kann ja jeder dazwischenliegende Hop mitlesen.

                                Ist es Dein eigener, dann schalte die Verschlüsselung ein.

                                Es gibt noch den Parameter validateCertificate

                                httpGet( URL, { validateCertificate: false, timeout: 2000, responseType: 'arraybuffer' }, async (err, response) => {
                                ...
                                ...
                                ...
                                

                                wie das in Blockly aussieht, weiß ich allerdings nicht. Auch nicht, ob Dir das weiterhilft.

                                In Chrome zeigt er schon das Protokoll an. Dafür muss man in die Adresszeile reinklicken. Die Screenshots sind zwar vom Vivaldi, gilt aber auch für Chrome:

                                8f85c6a1-5497-42c4-a3eb-6c6c2ed7bd5b-image.png

                                f48afba3-482e-4973-a16d-a2c073db2b84-image.png

                                A Offline
                                A Offline
                                arumpel
                                schrieb am zuletzt editiert von
                                #17

                                @peterfido
                                Es ist nur ein kleiner Wifi ESP welcher ein PV Akku BMS ausließt um die Werte zu übermitteln. Man kann auch einen SOC Wert setzen, das ist eben ab und an erforderlich wenn die Batterie durch Eigenentladung ziemlich leer ist wenn lange nicht geladen wurde. Ich hab die Software für das Ding nicht programmiert, will nur den Befehl automatisieren.

                                Ja wenn ich in die Adressleiste mit Rechtklick klicke und vollständige URL Anzeigen wähle dann steht die Adresse mit http wie im Versuch mit Paste drin. Ich muss dann auf trotzdem weiter zur unsicheren Seite klicken dann geht der Befehl auch. Nur wenn Blockly das aufruft irgendwie nicht. Ich weiß nicht ob der Programmierer von dem Teil da vielleicht auch irgendwelche Fehler drin hat die es per Blockly unmöglich machen. Es dauert manchmal sehr lange bis das Device antwortet aber ich habe ja schon einen Timeout von 60s gesetzt.

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                317

                                Online

                                32.5k

                                Benutzer

                                81.7k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe