节点请求错误:标题内容包含无效字符?

请求很容易使用,但是,我遇到了一个奇怪的问题:

TypeError:标题内容包含无效字符

这是我的代码(非常简单,只是一个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); } }); 

当我运行代码时,发生错误。 我的请求中没有设置任何标题。

请求不支持中文字符? 我很困惑,任何人的build议?

由于您正在使用GET请求,因此您的URLpath和参数是请求标头的成员。 你应该像这样编码参数值:

 let url = "https://www.baidu.com/s?wd=" + encodeURIComponent("整天就是背背背记记记,或者有些正,时间就这么浪费了"); 

这将创build一个只包含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 
Interesting Posts