NEWS
[gelöst] Skript-Error bei request nach Update von NodeJS
-
Ich habe ein System, von welchem ich ein JSON mittels HTTP abfragen kann. Leider habe ich auf das System keinen Einfluss. Nach dem Update von NodeJS 16.15.1 auf 16.16.0 erhalte ich bei der Verarbeitung der Anfrage nun nur noch die Fehlermeldung:
Missing expected CR after header value
Wie ich z.B. unter https://github.com/nodejs/node/issues/43798 lese, ist dies aus Sicherheitsgründen geändert worden.
Bisher habe ich den Aufruf über "request" in einem Javascript-Skript gelöst, sehe dort jedoch keine Möglichkeit die HTTP-Option "insecureHTTPParser" anzugeben. Meine Tests mittels Blockly führten zu dem gleichen Problem, da das gleiche Paket verwendet wird... Wie kann ich die bestehende URL nun aber mit einem aktuellen NodeJS korrekt aufrufen?Auch ist mir aufgefallen, dass das Paket request stark veraltet ist und eigentlich in iobroker ersetzt werden sollte - oder wie seht ihr das?
Ich freue mich auf eure Antworten!
PaulchenPlump -
@paulchenplump sagte in Skript-Error bei request nach Update von NodeJS:
eigentlich in iobroker ersetzt werden sollte - oder wie seht ihr das?
Die zur Zeit propagierte Alternative zu request ist axios. Wo möglich sollte darauf umgestellt werden. Die Verwendung ist aber noch weit verbreitet:
echad@chet:/opt/iobroker $ npm ls request iobroker.inst@3.0.0 /opt/iobroker ├─┬ iobroker.backitup@2.4.12 │ ├─┬ dropbox-v2-api@2.5.4 │ │ └── request@2.88.2 deduped │ └── request@2.88.2 ├─┬ iobroker.javascript@6.0.0 │ └── request@2.88.2 deduped ├─┬ iobroker.js-controller@4.0.23 │ ├─┬ @iobroker/js-controller-common@4.0.23 │ │ └── request@2.88.2 deduped │ ├─┬ le-acme-core@2.1.4 │ │ └── request@2.88.2 deduped │ └── request@2.88.2 deduped ├─┬ iobroker.mihome-vacuum@3.6.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.pi-hole@1.3.4 │ └── request@2.88.2 deduped ├─┬ iobroker.samsung@0.5.11 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.samsung.git#70366ba038c0f5092731db63f09d16db8eb56e65) │ └─┬ samsungtv@0.0.0 (git+https://git@github.com/luca-saggese/samsungtv.git#7fc20107455414e2afb94022682e0787e8635550) │ └── request@2.88.2 deduped ├─┬ iobroker.tankerkoenig@2.1.1 │ └── request@2.88.2 deduped ├─┬ iobroker.tr-064@4.2.16 │ └─┬ tr-O64@0.2.4 │ └── request@2.88.2 deduped └─┬ iobroker.whatsapp-cmb@0.2.2 └── request@2.88.2 deduped
-
OK, da habe ich mal wieder nicht mitbekommen, dass das schon länger Thema war... Vielen Dank erst einmal - ich werde mich an axios probieren!
PS: Ist axios der "inoffizielle" Nachfolger und werden die Blockly-Skripte irgendwann automatisch umgestellt? -
@paulchenplump
Automatisch geht da nix, die Skripte müssen von Hand umgestellt werden.