如何使用请求模块获取带有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);
例如,我在此处关于堆栈溢出的配置文件的 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);