node环境axios(AxiosError: Parse Error: Invalid header value char)解决方案
最近在做一个electron项目时,需要在node环境使用axios请求,我试图向API发出请求,但我得到了这个错误:
AxiosError: Parse Error: Invalid header value char

问题在于API返回的响应头中的值包含不允许的字符。
Node.js的HTTP解析器比Web浏览器使用的解析器更严格,这可以防止抓取服务器不符合HTTP规范的网站,无论是意外还是由于一些反抓取保护,导致例如invalid header value char错误。
解决方案是在请求头使用insecureHTTPParser选项:
axios.get(url, { insecureHTTPParser: true }).then((response) => {
console.log(response.data)
})
insecureHTTPParser选项强制Axios使用Node.js HTTP解析器,它比默认解析器不那么严格。不推荐使用此选项,但当您需要向不遵循HTTP规范的API发出请求时,此选项非常有用。但是,它也会使您的应用程序面临一些安全漏洞,尽管风险应该可以忽略不计,因为这些漏洞主要与服务器应用程序有关,而不是客户端。
感谢您的阅读!

浙公网安备 33010602011771号