简单请求在特定 URL 上返回错误代码 ERR_UNESCAPED_CHARACTERS 总结代码控制台环境

问题描述

总结

URL https://www.eponuda.com/graficke-kartice-cene/gigabyte-radeon-rx-6900-xt-16gb-gddr6-2‎56-bit-gv-r69xtgaming-oc-16gd-graficka-kartica-cena-579068 在下面返回错误,但其他 URL 返回预期的 HTML 正文,例如 https://www.eponuda.com/graficke-kartice-cene/asus-geforce-dual-gaming-rtx-3060-12gb-ddr6-192bit-dual-rtx3060-12g-graficka-kartica-cena-609076。我不知道是什么导致了这个问题。

代码

const options = {
    url: 'https://www.eponuda.com/graficke-kartice-cene/gigabyte-radeon-rx-6900-xt-16gb-gddr6-2‎56-bit-gv-r69xtgaming-oc-16gd-graficka-kartica-cena-579068',method: 'GET'
};

request(options,(error,response,body) => {
  console.error('error:',error); 
  console.log('statusCode:',response && response.statusCode); 
  console.log('body:',body); 
});

控制台

TypeError [ERR_UnesCAPED_CHaraCTERS]: Request path contains unescaped characters

环境

软件 版本
请求 2.88.2
节点 14.15.5
npm 6.14.11
操作系统 Windows 10

解决方法

尝试像这样编码网址

url: encodeURI('https://www.eponuda.com/graficke-kartice-cene/gigabyte-radeon-rx-6900-xt-16gb-gddr6-2‎56-bit-gv-r69xtgaming-oc-16gd-graficka-kartica-cena-579068')