Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] http request

    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

    [gelöst] http request

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      homecineplexx last edited by

      den javaScript adpater hast du mal auf debug gestellt?

      siehst du eigentlich irgendwo einen log, dass er versucht diesen request abzuschicken?

      1 Reply Last reply Reply Quote 0
      • Lenny.CB
        Lenny.CB Most Active last edited by

        @homecineplexx:

        den javaScript adpater hast du mal auf debug gestellt? ` jupp
        @homecineplexx:

        siehst du eigentlich irgendwo einen log, dass er versucht diesen request abzuschicken? ` nein

        ich fasse mal zusammen:

        deine Code-Zeile erzeugt keine Befehle und auch keine Logeinträge

        var request = require('request');
        request("http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0").on('error', function  (e) {  log(e, 'error');});
        

        Ich hatte dann mal aus dem https://www.npmjs.com/package/request was probiert:

        var request = require('request');
        request("http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0", function  (error, response, body) {
            log('error: ' + error);
            log('response: ' + JSON.stringify(response));
            log('body: ' + body);
        });
        

        erzeugt dann dieses Log:````
        12:58:34.714 [info] javascript.0 script.js.Testscripte.Skript1: error: null
        12:58:34.715 [info] javascript.0 script.js.Testscripte.Skript1: response: {"statusCode":401,"body":"","headers":{"server":"PoolController","www-authenticate":"Poolauth realm="NeedPassword"","content-type":"text/html"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.2.37:8091","port":"8091","hostname":"192.168.2.37","hash":null,"search":"?R16=1&RT16=0","query":"R16=1&RT16=0","pathname":"/SetState.pl","path":"/SetState.pl?R16=1&RT16=0","href":"http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0"},"method":"GET","headers":{}}}
        12:58:34.716 [info] javascript.0 script.js.Testscripte.Skript1: body:

        
        da steht was von "****Poolauth realm=\"NeedPassword\****". Also erweitert mit den Zeilen die ich bei request-npm gefunden habe (ob das richtig ist, sein mal dahin gestellt):````
        request({
            method: 'POST',
            uri: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
            auth: [{
                'user': 'admin',
                'pass': 'admin',
                'sendImmediately': false
                }]
          },
          function (error, response, body) {
            log('error: ' + error);
            log('response: ' + response);
            //log('response: ' + JSON.stringify(response));
            log('body: ' + body);
          });
         */
        

        erzeug dieses Log:````
        13:04:02.185 [info] javascript.0 script.js.Testscripte.Skript1: error: Error: no auth mechanism defined
        13:04:02.185 [info] javascript.0 script.js.Testscripte.Skript1: response: undefined
        13:04:02.185 [info] javascript.0 script.js.Testscripte.Skript1: body: undefined

        
        Hmmm, nun gehts nicht weiter…
        1 Reply Last reply Reply Quote 0
        • H
          homecineplexx last edited by

          und so?

          var requestTest = require('request'),
          
          var options = {
              url: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
              method: 'POST',
              formData: {
                  'username':'admin',
                  'password':'admin'
              }
          }
          
          requestTest(options, function  (error, response, body) {
              log('error: ' + error);
              log('response: ' + JSON.stringify(response));
              log('body: ' + body);
          });
          
          
          1 Reply Last reply Reply Quote 0
          • Lenny.CB
            Lenny.CB Most Active last edited by

            @homecineplexx:

            und so?

            var requestTest = require('request'),
            
            var options = {
                url: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
                method: 'POST',
                formData: {
                    'username':'admin',
                    'password':'admin'
                }
            }
            
            requestTest(options, function  (error, response, body) {
                log('error: ' + error);
                log('response: ' + JSON.stringify(response));
                log('body: ' + body);
            });
            
            ```` `  
            

            ergibt das: ` > 14:45:24.506 [info] javascript.0 script.js.Testscripte.Skript1: error: Error: read ECONNRESET

            14:45:24.523 [info] javascript.0 script.js.Testscripte.Skript1: response: undefined

            14:45:24.523 [info] javascript.0 script.js.Testscripte.Skript1: body: undefined `

            habe in der ersten Zeile mal das "Komma" mit einem "Semikolon" getauscht?

            1 Reply Last reply Reply Quote 0
            • H
              homecineplexx last edited by

              Sorry war ein Schreibfehler.

              Natürlich so.

              Aber du bekommst keine Authfehler mehr?

              var requestTest = require('request');
              
              var options = {
                  url: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
                  method: 'POST',
                  formData: {
                      'username':'admin',
                      'password':'admin'
                  }
              };
              
              requestTest(options, function  (error, response, body) {
                  log('error: ' + error);
                  log('response: ' + JSON.stringify(response));
                  log('body: ' + body);
              });
              
              
              1 Reply Last reply Reply Quote 0
              • Lenny.CB
                Lenny.CB Most Active last edited by

                @homecineplexx:

                Sorry war ein Schreibfehler.

                Natürlich so.

                Aber du bekommst keine Authfehler mehr?

                var requestTest = require('request');
                
                var options = {
                    url: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
                    method: 'POST',
                    formData: {
                        'username':'admin',
                        'password':'admin'
                    }
                };
                
                requestTest(options, function  (error, response, body) {
                    log('error: ' + error);
                    log('response: ' + JSON.stringify(response));
                    log('body: ' + body);
                });
                
                ```` `  Nein.
                1 Reply Last reply Reply Quote 0
                • H
                  homecineplexx last edited by

                  Schaltet dein Teil jetzt mal?

                  1 Reply Last reply Reply Quote 0
                  • Lenny.CB
                    Lenny.CB Most Active last edited by

                    @homecineplexx:

                    Schaltet dein Teil jetzt mal? ` Ne tuts leider nicht…

                    1 Reply Last reply Reply Quote 0
                    • H
                      homecineplexx last edited by

                      mal was anderes. siehst du auf dem 192.168.2.37:8091, den du steuern möchtest, irgendwelche logs?

                      1 Reply Last reply Reply Quote 0
                      • Lenny.CB
                        Lenny.CB Most Active last edited by

                        @homecineplexx:

                        mal was anderes. siehst du auf dem 192.168.2.37:8091, den du steuern möchtest, irgendwelche logs? ` Logs in dem Sinne sind da nicht zu holen.

                        ABER, ich habe jetzt was gefunden was auch klappt.

                        var request = require('request'),
                            username = "admin",
                            password = "admin",
                            url = 'http://192.168.2.37:8091/SetState.pl?R16=0&RT16=0',
                            auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
                        
                        request({
                                url : url,
                                headers : {'Authorization' : auth}
                            },
                            function (error, response, body) {
                                    log('error: ' + error);
                                    log('response: ' + JSON.stringify(response));
                                    log('body: ' + body);
                            }
                        );
                        

                        erzeugt dann dieses LOG und schaltet auch das Relais im Controler:

                        08:23:02.308	[info]	javascript.0 script.js.Testscripte.Skript1: error: null
                        08:23:02.310	[info]	javascript.0 script.js.Testscripte.Skript1: response: {"statusCode":200,"body":"0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0\n","headers":{"server":"PoolController V.1.6.8","connection":"close","content-type":"text/plain; charset=ISO-8859-1"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.2.37:8091","port":"8091","hostname":"192.168.2.37","hash":null,"search":"?R16=0&RT16=0","query":"R16=0&RT16=0","pathname":"/SetState.pl","path":"/SetState.pl?R16=0&RT16=0","href":"http://192.168.2.37:8091/SetState.pl?R16=0&RT16=0"},"method":"GET","headers":{"Authorization":"Basic YWxxxx46xxxxaWxxxx=="}}}
                        08:23:02.310	[info]	javascript.0 script.js.Testscripte.Skript1: body: 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0
                        

                        nochmal danke an alle die so geduldig waren. 😄

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        944
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        7
                        29
                        7570
                        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