gpt4 book ai didi

javascript - Node.js:使用请求模块接收http响应中的错误字节

转载 作者:行者123 更新时间:2023-12-03 03:56:31 24 4
gpt4 key购买 nike

我正在使用nodejs向服务器发送http请求,并从中获取http响应(http响应正文是加密,而http header 是正常 )。响应正文将写入文件。但我发现响应正文与服务器发送的内容不同。

这就是我所做的:

request.post({
headers: {'content-type':'application/json'},
url:'url-to-server',
body:data-to-send
}, function(error, response, body){
if(!error && response.statusCode==200){
fs.writeFile(path-to-file,body,function(err){
});
}
});

问题是,一些字节值被 ef bf bd 替换

Server Send:       f5 cb b6 48 77 b6 26 6a d2 4c d8 d9 ...Received data:     ef bf bd cb b6 48 77 ef bf bd 26 6a ...

有什么想法吗?

最佳答案

我发现当它尝试使用utf-8编码时会发生ef bf bd。所以我想接收未经编码的原始数据。

我发现this question about getting binary content ,根据此链接,我在代码中添加 encoding:null ,如下所示:

    request.post({        headers: {'content-type':'application/json'},        url:'url-to-server',        encoding:null,        body:data-to-send    }, function(error, response, body){                 if(!error && response.statusCode==200){            fs.writeFile(path-to-file,body,function(err){            });        }    });

现在接收到的数据是正确的。

关于javascript - Node.js:使用请求模块接收http响应中的错误字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44919033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com