首頁 >後端開發 >C++ >如何以程式設計方式確定路由器的公用 IP 位址?

如何以程式設計方式確定路由器的公用 IP 位址?

DDD
DDD原創
2025-01-18 11:12:41549瀏覽

How Can I Programmatically Determine My Router's Public IP Address?

檢索您的公用 IP 位址:實用指南

了解路由器的公用 IP 位址對於各種網路管理任務至關重要。 然而,直接從路由器存取此資訊並不總是那麼簡單。 本指南探討了有效的方法。

C# 實作

C# 提供了一個乾淨的解決方案來取得您的外部 IP 位址:

<code class="language-csharp">using System.Net;
using System.Net.Http;

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>

舊版 C# 方法

C# 中較不現代但實用的方法:

<code class="language-csharp">using System.Net;

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>

命令列解決方案

這些跨平台指令提供了替代方案:

  • wget: wget -qO- http://bot.whatismyipaddress.com
  • 捲曲: curl http://ipinfo.io/ip

以上是如何以程式設計方式確定路由器的公用 IP 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn