0

CLIENT (=自分のコンピューター) で自分の外部 IP アドレスを知るにはどうすればよいですか? 内部 IP アドレスではなく、既存の Web サイトや、この質問のために作成する新しい Web サイトからではありません。純粋なクライアント OS コマンドのスクリプティングや JavaScript を使用するだけですか? それは可能ですか?実際、誰かがそれを行う方法として100万ドルを集める必要がある場合、私の知る限り、この地球上のどのWebサイトでも誰もその答えを思いついたことがないため、AR

4

4 に答える 4

1

Gricha が述べたように、外部サイトからリクエストできます。ホストされているオープン ソース プロジェクトもあります。

この API を呼び出すことで、外部 IP 情報を JSON 形式で取得できます。

curl http://ip2country.sourceforge.net/ip2c.php?format=JSON

C# では、Web API を呼び出す同様のメソッドが必要です。

プロジェクト情報はこちら: http://code.google.com/p/ip-address/

于 2013-04-10T17:06:26.470 に答える
1

誰かがすでにそれを尋ねたと思いますが、C#を使用しています

IPHostEntry host;
string localIP = "?";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
    if (ip.AddressFamily == AddressFamily.InterNetwork)
    {
        localIP = ip.ToString();
    }
}
return localIP;

対象の OS はわかりませんが、コンソール アプリケーションを作成し、そこから値を読み取ることができます。

それが役に立てば幸い

于 2013-04-10T16:53:24.347 に答える
0

単純なシステム コールから外部 IP アドレスを見つけることはできません。おそらくルーター固有のルーターから受信するか、LANの外側から電話をかける必要があります。通常、これは HTTP リクエストまたはその他の一般的なインターネット サービスを介して行われます。

また、ローカル ネットワーク上の個々のコンピューターには外部 IP がありません。ルーターには 1 つのアドレスがあり、パケットを個々のデバイスに転送します。

于 2013-04-10T16:46:33.270 に答える