我需要一些聪明人来帮我解决这个问题。这对我来说没有多大意义,因为它基本上是向完全相同的url发送请求,但最终得到的结果却不同。
下面是代码的一小段,我试着设置它,这样就很容易理解这个问题:
var test = "/users/1"
httpsProxy.web(req, res, {target: `https://api.roblox.com${test}`});
// Output: {"Id":1,"Username":"ROBLOX","AvatarUri":null,"AvatarFinal":false,"IsOnline":false}
var settings = {
target: `https://api.roblox.com${req.url}`
};
console.log(req.url);
// Output: /Users/2
httpsProxy.web(req, res, settings)
// Output: {"errors":[{"code":404,"message":"NotFound"}]}发布于 2018-06-25 19:50:49
这里有区分大小写的问题。你的世界是大写的Users req.url。在发送请求前尝试应用String.toLowerCase()或调整您形成req.url的方式(最好)。
var settings = {
target: `https://api.roblox.com${req.url.toLowerCase()}`
};重要提示:应用toLowerCase可能会给您带来问题,因此请考虑修复导致该工作(Users)不是小写的根本原因,或者将String.replace与RegExp一起使用会更安全。
https://stackoverflow.com/questions/51020335
复制相似问题