Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. request to axios-> Problem mit axios.Post [gelöst]

    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

    request to axios-> Problem mit axios.Post [gelöst]

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

      ich nutze seit langem zum Stumm-/aktiv-Schalten von Telefonen in abgewandelter Form das script aus https://forum.iobroker.net/topic/36095/internet-filter-in-der-fritzbox-mit-javascript-setzen

      nun möchte ich von request auf axios umstellen

      alle "get"s ließen sich problemlos von request auf axios umschreiben, dass es funktioniert ist erkennbar dass es mit unverändertem Code-Teil mit Post weiterhin funktioniert.
      Leider bekomme ich diesen Teil jedoch nicht hin, bei den meisten Versuchen erhalte ich "getcgivars(): Unsupported Content-Type."

      so sieht der funktionierende code mit request aus:

      async function getFbSid() {
          if (FbDebugging){log("function getFbSid");}
      
          request.post({
              url:        'http://' + FbIp,
              headers:    headers, 
              form:       secLogin
          }, function(error, response, body) {
              if (error) log("c: "+error, "error");
              //log("resp.body1: "+response.body)
              try {
                  secSid = response.body.match(/\"sid\":\"(.*)\"/)[1];
                  //log ("w: "+secSid)
              }
              catch (e) {
                  if (secSid == undefined) {
                      log("b: "+"Your login was not successful. End Script: "+e, "error")
                      return;
                  }
              }
              if (FbDebugging){log(" > SID       : " + secSid);}
              toggle_tel();
          });
      
      }
      

      diverse Versuche zB:

      async function getFbSid2() {
          if (FbDebugging){log("function getFbSid2");}
          let data = { form: secLogin};
          const response = await axios.post('http://' + FbIp, data, headers);
          log(typeof response.data); //string
          log(response.data); //getcgivars(): Unsupported Content-Type.
      
      
      // auch so nicht:
      axios({
        method: "post",
        url: 'http://' + FbIp,
        form: secLogin,
        headers: headers
      })
      
          .then(function(response) {
       
      
      } 
      

      wäre schön, wenn mir jemand helfen könnte, es wäre der letzte request in meinen scripten

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @alka last edited by

        @alka

        leider sieht man nicht welche headers und wie dein secLogin strukturiert ist.
        aber bei axios heißt es nicht form sondern data
        https://axios-http.com/docs/req_config

        A 1 Reply Last reply Reply Quote 0
        • A
          alka @OliverIO last edited by

          @oliverio
          danke für die Hilfe, kann zwar momentan nicht prüfen ob die Funktion als solche gegeben ist, aber Fehlermeldung hab ich keine mehr mit Änderung "form" zu "data"

          der Vollständigkeit halber und falls da doch etwas anders sein muss.

          var headers = { 
              'Content-Type': 'application/x-www-form-urlencoded', 
              'User-Agent': 'curl/7.64.0', 
              'Accept': '*/*'
          };
          
          //secLogin: response=xxxx&username=test
          //secLogin passt, wenn ich es mit request angewendet habe funktioniert alles
          
          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @alka last edited by

            @alka
            Sieht ok aus
            Allerdings muss Mandate immer die api Doku lesen. Da steht drin was gefordert wird

            A 1 Reply Last reply Reply Quote 0
            • A
              alka @OliverIO last edited by

              @oliverio
              "immer die api Doku lesen"
              ich hielt "form" für ein Schlüsselwort welches mitgegeben wird, nicht wie das headers sondern so wie ein Key-Bezeichner

              perfekt! funktioniert nun wie geölt - ohne request (und ein gutes Gefühl so ein "irgendwann muss ich es ja doch machen"-Problem gelöst zu haben)

              was mir jetzt noch zu meinem Glück fehlt: wie schmeiße ich request aus dem System um beim Start die (unnötige) Fehlermeldung zu vermeiden und den Platz nicht zu verschwenden?
              Der Herr Internet gibt auf verschiedene Suchanfragen nur massen haft andere Themen aus

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

                @alka sagte in request to axios-> Problem mit axios.Post:

                was mir jetzt noch zu meinem Glück fehlt: wie schmeiße ich request aus dem System um beim Start die (unnötige) Fehlermeldung zu vermeiden und den Platz nicht zu verschwenden?

                Du meinst beim Start des ioBroker?
                Da wirst du wohl noch länger warten müssen, wenn ich mir da mein System so anschaue.

                echad@chet:/opt/iobroker $ npm ls request
                iobroker.inst@3.0.0 /opt/iobroker
                ├─┬ iobroker.backitup@2.9.3
                │ ├─┬ dropbox-v2-api@2.5.10
                │ │ └── request@2.88.2 deduped
                │ └── request@2.88.2
                ├─┬ iobroker.javascript@7.1.6
                │ └── request@2.88.2
                ├─┬ iobroker.js-controller@5.0.16
                │ └─┬ le-acme-core@2.1.4
                │   └── request@2.88.2 deduped
                ├─┬ iobroker.mihome-vacuum@4.1.0
                │ └── request@2.88.2 deduped
                ├─┬ iobroker.nina@0.0.25
                │ └── request@2.88.2 deduped
                ├─┬ iobroker.nuki-extended@2.6.5
                │ ├─┬ nuki-web-api@2.2.1
                │ │ └── request@2.88.2 deduped
                │ ├─┬ request-promise@4.2.6
                │ │ ├─┬ request-promise-core@1.1.4
                │ │ │ └── request@2.88.2 deduped
                │ │ └── request@2.88.2 deduped
                │ └── request@2.88.2 deduped
                ├─┬ iobroker.samsung@0.5.11 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.samsung.git#17ce91831ad8d403265bc9db968c850e24402a11)
                │ └─┬ samsungtv@0.0.0 (git+https://git@github.com/luca-saggese/samsungtv.git#7fc20107455414e2afb94022682e0787e8635550)
                │   └── request@2.88.2 deduped
                ├─┬ iobroker.tr-064@4.2.18
                │ └─┬ tr-O64@0.2.4
                │   └── request@2.88.2 deduped
                └─┬ iobroker.whatsapp-cmb@0.2.3
                  └── request@2.88.2 deduped
                
                echad@chet:/opt/iobroker $
                
                A 1 Reply Last reply Reply Quote 0
                • A
                  alka @Thomas Braun last edited by

                  @thomas-braun
                  ups - ganz besonderer Dank für diesen schnellen Hinweis
                  wenn ich da ein uninstall/remove auf Anhieb gefunden hätte wäre mein System wohl hinüber

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  927
                  Online

                  31.8k
                  Users

                  80.0k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  428
                  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