Как я могу надувать и декодировать XML в Node.js? - PullRequest
1 голос
/ 03 марта 2020

Когда я пытаюсь накачать и декодировать с помощью zlib в узле, я получаю сообщение об ошибке " Ошибка: неверная проверка заголовка "

const example = 'pZNBj9owEIX/Sm4+JcYQFrAIUgSqhLRtEWx72MvK6wys1cROPeNu+u/rBGg57O6lp0jj5/nevHGWqJq6lWWgF7uHnwGQkhIRPBln185iaMAfwP8yGr7t7wv2QtSi5BxBBw+ZVh4q12XaNTLPJ9z509PJu9ByMZmMeYidkPcMji3X534sKYm8eQ4EZ4KxpwtiayvoCjZlySY6MVb1Nv5BTRtxlrJGEYYfYpwF5OtY2rjucPjKEV2msO1Yst0U7Kla5CKfwiSdPefjNJ+rebq4Ox7TyUwvcq0Wo3keQVvEELlIylLBxiMxS0fTVIgHcSenuRyJR5Z8j1MMRsbZiCVdU1uU/VAFC95Kp9CgtKoBlKTlofx8L6NQqmuOt1faj++03pHTrmarZa+Wgzu/+p/UGyBVKVJLfttxeV78l+hgu9m52ujfSVnX7nXtQREUjHyIm/rkfAz7fc8iE0PFVOlxkMpgsQVtjgYqxq+Yy9OCanhocesEHSVr18SFGuyThU5puk59q1rXMcc9HFcfRq2l7nWxvIufV+erXUwSdEQ+eBUtOU+XAN5sfj57x+jf09vfZPUH'
const inflated = zlib.inflateSync(Buffer.from(example, 'base64')).toString('ascii')

Использование https://www.samltool.com/decode.php Я могу успешно надувать и декодировать его, чтобы не было проблем с вводом. Я делаю что-то не так с zlib или есть способ сделать это без zlib?

1 Ответ

1 голос
/ 03 марта 2020

Вы можете использовать функцию inflateRawSyn c для надувания Xml, тогда проверка заголовка будет пропущена.

const zlib = require("zlib");
const example = 'pZNBj9owEIX/Sm4+JcYQFrAIUgSqhLRtEWx72MvK6wys1cROPeNu+u/rBGg57O6lp0jj5/nevHGWqJq6lWWgF7uHnwGQkhIRPBln185iaMAfwP8yGr7t7wv2QtSi5BxBBw+ZVh4q12XaNTLPJ9z509PJu9ByMZmMeYidkPcMji3X534sKYm8eQ4EZ4KxpwtiayvoCjZlySY6MVb1Nv5BTRtxlrJGEYYfYpwF5OtY2rjucPjKEV2msO1Yst0U7Kla5CKfwiSdPefjNJ+rebq4Ox7TyUwvcq0Wo3keQVvEELlIylLBxiMxS0fTVIgHcSenuRyJR5Z8j1MMRsbZiCVdU1uU/VAFC95Kp9CgtKoBlKTlofx8L6NQqmuOt1faj++03pHTrmarZa+Wgzu/+p/UGyBVKVJLfttxeV78l+hgu9m52ujfSVnX7nXtQREUjHyIm/rkfAz7fc8iE0PFVOlxkMpgsQVtjgYqxq+Yy9OCanhocesEHSVr18SFGuyThU5puk59q1rXMcc9HFcfRq2l7nWxvIufV+erXUwSdEQ+eBUtOU+XAN5sfj57x+jf09vfZPUH'
const inflated = zlib.inflateRawSync(Buffer.from(example, 'base64')).toString('ascii');
console.log("Inflated:", inflated);
...