使用 Node 的 http.get 获取 UTF-8 html 内容
Get UTF-8 html content with Node's http.get
我正在尝试提取给定 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(options, function (res) {
var data = "";
res.on('data', function (chunk) {
data += chunk;
});
res.on("end", function () {
console.log(data);
});
}).on("error", function () {
callback(null);
});
如何强制对返回数据进行编码?
谢谢
像这样使用setEncoding()
方法:
http.get(options, function (res) {
res.setEncoding('utf8');
var data = "";
res.on('data', function (chunk) {
data += chunk;
});
res.on("end", function () {
console.log(data);
});
});
我正在尝试提取给定 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(options, function (res) {
var data = "";
res.on('data', function (chunk) {
data += chunk;
});
res.on("end", function () {
console.log(data);
});
}).on("error", function () {
callback(null);
});
如何强制对返回数据进行编码?
谢谢
像这样使用setEncoding()
方法:
http.get(options, function (res) {
res.setEncoding('utf8');
var data = "";
res.on('data', function (chunk) {
data += chunk;
});
res.on("end", function () {
console.log(data);
});
});