我想阻止某些特定國家的用戶,並發現ipinfo.io可用於此目的。但是當我嘗試在Node.js和Express應用程序中使用它時,它看起來沒有返回正確的結果。如何在Node.js和Express(和Heroku)應用程序中正確使用ipinfo.io
下面是我寫的代碼:
var request = require("request");
exports.index = function(req, res) {
request.get("http://ipinfo.io/" + req.ip + "/json", function(err, response, body) {
res.write(body);
res.end()
});
}
exports.index2 = function(req, res) {
request.get("http://ipinfo.io/json", function(err, response, body) {
res.write(body);
res.end();
});
}
我conencted上述每個特定的路線,比如,http://myapp/index1
和http://myapp/index2
這兩個功能。然而,當我試圖訪問http://myapp/index1
,結果是一樣的東西如下:
{
"ip": "10.xxx.xx.xx", # BTW, is this ip secure information?
"hostname": "No Hostname",
"loc": "",
"bogon": true
}
所以它不會返回正確的值。
當我試圖訪問http://myapp/index2
時,結果是AWS上的IP,因爲Heroku在其後臺使用AWS。
那麼如何才能讓它返回正確的結果呢?
感謝您的澄清。雖然位置不準確,但現在我已經得到了正確的值。 – Blaszard