使用节点';获取UTF-8 html内容;s http.get
我试图提取给定url的html内容,而原始内容编码是utf-8。我得到了页面的html,但是html元素中的文本以错误的格式返回(问号) 我就是这么做的:使用节点';获取UTF-8 html内容;s http.get,html,node.js,http,encoding,utf-8,Html,Node.js,Http,Encoding,Utf 8,我试图提取给定url的html内容,而原始内容编码是utf-8。我得到了页面的html,但是html元素中的文本以错误的格式返回(问号) 我就是这么做的: var parsedPath = url.parse(path); var options = { host: parsedPath.host, path: parsedPath.path, headers: { 'Accept-Charset' : 'utf-8', } } http.get
var parsedPath = url.parse(path);
var options = {
host: parsedPath.host,
path: parsedPath.path,
headers: {
'Accept-Charset' : 'utf-8',
}
}
http.get(options, function (res) {
var data = "";
res.on('data', function (chunk) {
data += chunk;
});
res.on("end", function () {
console.log(data);
});
}).on("error", function () {
callback(null);
});
如何强制执行返回数据的编码
感谢使用方法:
客户端不能强制服务器以任何特定格式返回数据。它可以告诉它,它只接受特定格式的数据,然后服务器可以选择发送回哪种格式……或者它可以完全忽略信息。@Quentin谢谢,所以我使用的标题是不必要的。如何对数据进行编码?当使用postman通过get调用获取html时,数据编写得很好,因此我认为有一种方法可以实现它
http.get(options, function (res) {
res.setEncoding('utf8');
var data = "";
res.on('data', function (chunk) {
data += chunk;
});
res.on("end", function () {
console.log(data);
});
});