2017-03-16 12 views
0

ジオロケーションのローカルドメインIPアドレスを取得します。しかし、私は内部IPアドレスしか取得できません。これはジオロケーションには使用できません。ここに私のコードですkoaJSを使用してローカルドメインのIPアドレスを取得する方法

let koa = require('koa'); 
let request = require('koa-request'); 
let proxyaddr = require('proxy-addr'); 
let ip = require('ip'); 
let app = new koa(); 

app.proxy = true; 

let API_GEO = 'xxx'; 
let API_WETHER = 'xxx'; 
let KEY = 'xxx'; 
let address = ip.address(); 

app.listen(3000, function(){ 
    console.log('Server running on https://localhost:3000') 
}); 

目標を達成するためにコードを変更する方法を教えてください。誰か私に例を与えることができますか?

答えて

1

あなたがユーザのIPアドレスをこの方法で取得しているかどうかわかりません(自分の内部サーバIPと推測します)。 Koaは、そのオブジェクトのリクエストオブジェクトにctx.request.ipというプロパティを持っています。元のkoaドキュメントhttp://koajs.comも参照してください。

次の事は、その後で、どのように外部APIIに彼を送信します

+0

ありがとうhttps://github.com/dionoid/koa-request

app.use(function *() { var options = { url: 'https://your-endpoint.com', // here you propably can add you request parameters headers: { 'Accept': 'application/json' } }; var response = yield request(options); var result = JSON.parse(response.body); console.log(result); }); 

(KOA-要求ドキュメントから適応):あなたは、このための起亜要求のようなものを使用することができますあなたのヒントのために。それは本当に私にとって役に立ちます。私は、地理位置データのための要求IPアドレスを取得する方法、別の質問があります。更新されたコードが見えますか? –

+0

私はrequest.ipを使用すると私はそれを発見した。私が得たIPアドレスは:: 1です。ジオロケーションデータまたはローカルには使用できません。私にできることはほかにありますか? –

+1

[request](https://github.com/koajs/koa/blob/master/docs/api/request.md)のkoaドキュメントを読む場合、 'app.proxy'をtrueに設定する必要があります。 " ' request.ip' - リモートアドレスを要求します。 'app.proxy'がtrueのときに' X-Forwarded-For'をサポートします。 これを試してください: \t '' 'app.proxy = true; \t let clientIP = ctx.request.ip; '' ' –

関連する問題