ホームページ >バックエンド開発 >C++ >ルーターのパブリック IP アドレスをプログラムまたはコマンド ライン経由で取得するにはどうすればよいですか?

ルーターのパブリック IP アドレスをプログラムまたはコマンド ライン経由で取得するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-18 11:27:10235ブラウズ

How Can I Get My Router's Public IP Address Programmatically and via Command Line?

ルーターのパブリック IP アドレスの取得: 総合ガイド

ルーターのパブリック IP アドレスを知ることは、さまざまなネットワーク タスクに不可欠です。 ただし、ローカル ネットワーク内からこれを直接判断するのは困難な場合があります。

この重要な情報を取得するための効果的な方法をいくつか紹介します。

C# ソリューション:

C# での非同期操作の場合は、HttpClient:

を使用します。
<code class="language-csharp">public static async Task<IPAddress> GetExternalIpAddress()
{
    string externalIpString = (await new HttpClient().GetStringAsync("http://icanhazip.com")).Replace("\r\n", "").Replace("\n", "").Trim();
    if (!IPAddress.TryParse(externalIpString, out IPAddress ipAddress)) return null;
    return ipAddress;
}</code>

WebClientを使用した同期代替:

<code class="language-csharp">public static void Main(string[] args)
{
    string externalIpString = new WebClient().DownloadString("http://icanhazip.com").Replace("\r\n", "").Replace("\n", "").Trim();
    IPAddress externalIp = IPAddress.Parse(externalIpString);
    Console.WriteLine(externalIp.ToString());
}</code>

コマンドラインメソッド (Linux および Windows):

簡潔な解決策として wget を使用します:

<code class="language-bash">wget -qO- http://bot.whatismyipaddress.com</code>

または、多用途の curl ユーティリティを使用します。

<code class="language-bash">curl http://ipinfo.io/ip</code>

これらの方法は、オペレーティング システムやプログラミング設定に関係なく、ルーターのパブリック IP アドレスを取得する信頼性の高い方法を提供します。

以上がルーターのパブリック IP アドレスをプログラムまたはコマンド ライン経由で取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。