首頁 > 後端開發 > C++ > 如何以程式設計方式和透過命令列取得路由器的公共 IP 位址?

如何以程式設計方式和透過命令列取得路由器的公共 IP 位址?

DDD
發布: 2025-01-18 11:27:10
原創
234 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板