Node Request error: The header content contains invalid characters?
Node Request error: The header content contains invalid characters?
Request很好用,但是我遇到了一个st运行ge问题:
TypeError: The header content contains invalid characters
这是我的代码(很简单,就是一个GET请求):
let request = require('request');
let url = "https://www.baidu.com/s?wd=整天就是背背背记记记,或者有些正,时间就这么浪费了";
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
} else {
console.log(error);
}
});
当我运行代码时,出现错误。我没有在请求中设置任何 headers。
请求不支持汉字?我很困惑,有人指教吗??
由于您使用的是 GET 请求,因此您的 URL 路径和参数是请求 headers 的成员。您应该像这样对参数值进行编码:
let url = "https://www.baidu.com/s?wd=" +
encodeURIComponent("整天就是背背背记记记,或者有些正,时间就这么浪费了");
这将创建一个仅包含 ASCII 字符的 URL:
https://www.baidu.com/s?wd=%E6%95%B4%E5%A4%A9%E5%B0%B1%E6%98%AF%E8%83%8C%E8%83%8C%E8%83%8C%E8%AE%B0%E8%AE%B0%E8%AE%B0%EF%BC%8C%E6%88%96%E8%80%85%E6%9C%89%E4%BA%9B%E6%AD%A3%EF%BC%8C%E6%97%B6%E9%97%B4%E5%B0%B1%E8%BF%99%E4%B9%88%E6%B5%AA%E8%B4%B9%E4%BA%86
Request很好用,但是我遇到了一个st运行ge问题:
TypeError: The header content contains invalid characters
这是我的代码(很简单,就是一个GET请求):
let request = require('request');
let url = "https://www.baidu.com/s?wd=整天就是背背背记记记,或者有些正,时间就这么浪费了";
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
} else {
console.log(error);
}
});
当我运行代码时,出现错误。我没有在请求中设置任何 headers。
请求不支持汉字?我很困惑,有人指教吗??
由于您使用的是 GET 请求,因此您的 URL 路径和参数是请求 headers 的成员。您应该像这样对参数值进行编码:
let url = "https://www.baidu.com/s?wd=" +
encodeURIComponent("整天就是背背背记记记,或者有些正,时间就这么浪费了");
这将创建一个仅包含 ASCII 字符的 URL:
https://www.baidu.com/s?wd=%E6%95%B4%E5%A4%A9%E5%B0%B1%E6%98%AF%E8%83%8C%E8%83%8C%E8%83%8C%E8%AE%B0%E8%AE%B0%E8%AE%B0%EF%BC%8C%E6%88%96%E8%80%85%E6%9C%89%E4%BA%9B%E6%AD%A3%EF%BC%8C%E6%97%B6%E9%97%B4%E5%B0%B1%E8%BF%99%E4%B9%88%E6%B5%AA%E8%B4%B9%E4%BA%86