如何使用请求模块获取带有unicode字符的url?

How to use request module to fetch urls with unicode characters?

例如,我在此处关于堆栈溢出的配置文件的 link 如下所示:

https://whosebug.com/users/607407/tomáš-zato

但是如果我从浏览器栏中复制它,实际值是:

https://whosebug.com/users/607407/tom%C3%A1%C5%A1-zato

您可以将其中任何一个粘贴到您的浏览器中,它就会起作用。但是,如果我使用 unicode 发送非编码 URL(到不同的网页),我会收到错误消息:

<html><body><h1>400 Bad request</h1>
Your browser sent an invalid request.
</body></html>

如何将 URL 中的 unicode 字符转换为其 %XX 变体?

然后 encodeurl 模块帮助了我:

const encodeUrl = require('encodeurl')

用法:

options.url = encodeUrl(options.url);