2017-01-25 9 views
0

Javaスクリプトで自分のウェブサイトを使っているクライアントシステムのIPアドレスを取得しようとしましたが失敗しました。私はこの情報を取得するのに "https://jsonip.com/" のようなサードパーティーを使いたくありませんでした。 jsと試してみましたが、このコードが実行されていないので失敗しました。nodejsを使用して私たちのウェブサイトを使ってクライアントのIPアドレスを取得する方法は?

var express = require('express'); 
var app = express(); 
var http = require('http'); 
app.post('/testurl', function(req, res) { 
    console.log(req.connection.remoteAddress); 
}); 

私を助けてください。

答えて

1

そのあなたがこの

var app = require('express')(); 

app.get('/', function(req, res) { 
    res.send('your IP is: ' + req.connection.remoteAddress); 
}); 

app.listen(1337); 
+0

私は ":: 1あなたのIPは" 取得しています192.168.23.78 right.can助けてください。 –

+0

ええ.. thatsは、あなたのアプリケーションをlocalhostから実行しているため、同じマシンからテストしているからです。 LAN経由でアクセスするか、コードを外部Webサーバーにプッシュすると、IPの変更が表示されます。 tl; dr; :: 1 === localhostのIPv6 –

+1

ありがとうございました。 –

1

::1のようにそれを得ることができ、要求

req.connection.remoteAddress 

の部分は、ローカルホストのIPv6のです。

あなたは、IPv4のみに耳を傾けて喜んでいる場合は、使用:

app.listen(3000, '127.0.0.1'); 

リファレンス:responce.but IPは例のようにする必要がありますよう:https://stackoverflow.com/a/30463191/2013580

関連する問題