2016-07-31 12 views
0

Я только что начал использовать nodejs и koajs, и я хотел бы взять ip-адрес отсюда: https://api.ipify.org?format=json и вставить его на свой сайт или установить его как заголовок. Сейчас у меня есть следующие:Как распечатать внешний API на моем сервере? (Возьмите IP-адрес пользователя и покажите его на веб-сайте)

 var koa = require('koa'); 
     var app = koa(); 
     var http = require('https'); 
     var a = http.get("https://api.ipify.org?format=json",function(res) { 
       var data = ""; 
       res.on("data", function (chunk) { 
        data += chunk; 
       }); 
       res.on('end', function() { 
        par = JSON.parse(data); 
        console.log(par.ip); 
       }); 
     }); 


     app.listen(8888); 
     app.use(function *(){ 
       this.response.set("userIp",par.ip); 
       this.body = "ipadress: "; //this doesn't see par.ip; 
     }); 

Я знаю, что я, вероятно, делать что-то очень неправильно здесь, но да я в настоящее время застрял, потому что я понятия не имею, как взять par.ip и назначить его this.body и задавать.

Может ли кто-нибудь сказать мне, как достичь этого или альтернативы этой проблеме? Заранее спасибо.

ответ

0

Предполагая, что ответ от api.ipify.org не изменяется.

var koa = require('koa'); 
    var app = koa(); 
    var http = require('https'); 
    var a = http.get("https://api.ipify.org?format=json",function(res) { 
      var data = ""; 
      res.on("data", function (chunk) { 
       data += chunk; 
      }); 
      res.on('end', function() { 
       par = JSON.parse(data); 
       console.log(par.ip); 

       app.use(function *(){ 
        this.response.set("userIp",par.ip); 
        this.body = "ipadress: "; //this doesn't see par.ip; 
       }); 
       app.listen(8888); 
      }); 
    }); 

В противном случае, если ответ api.ipify.org постоянно меняется, вы могли бы сделать запрос HTTP на каждом входящем запросе.

 Смежные вопросы

  • Нет связанных вопросов^_^