由于某种原因,我对“请求”模块有疑问。
var options = {
protocol: "https",
host: "euw.api.pvp.net",
pathname: "/api/lol/euw/v1.4/summoner/by-name/" + name,
search: "api_key=api-key-deleted"
};
var riotURL = url.format(options);
request(riotURL, function (error, response, body) {
if (!error && response.statusCode == 200) {
//doing someting
}
});
然后它变得怪异。如果名称很简单,例如“ Dager”,“ hi mom”等,那么我的应用程序就可以正常运行。但是,当我尝试输入“növentaynueve”,“Mìnou”之类的名称时-我的请求返回404响应。
我设法获得完整的回复文本:http : //pastebin.com/8Vra1i4X。而且我不明白发生了什么。所有响应的链接都是正确的。但是它看起来像是请求模块,而不是将请求发送到
https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/n%C3%B6ventaynueve?api_key=api-key-deleted
发送请求给
https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/n%EF%BF%BDventaynueve?api_key=api-key-deleted
但为什么?
解决了encodeURI()
功能问题。
有趣的是:在Debian上,即使没有也可以使用encodeURI()
。但是在Windows 10上没有。两个源文件均为UTF-8。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句