Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menentukan Alamat IP Awam Penghala Saya Secara Pengaturcaraan?

Bagaimanakah Saya Boleh Menentukan Alamat IP Awam Penghala Saya Secara Pengaturcaraan?

DDD
DDDasal
2025-01-18 11:12:41550semak imbas

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

Mengambil semula Alamat IP Awam Anda: Panduan Praktikal

Mengetahui alamat IP awam penghala anda adalah penting untuk pelbagai tugas pengurusan rangkaian. Walau bagaimanapun, mengakses maklumat ini secara langsung daripada penghala anda tidak selalunya mudah. Panduan ini meneroka kaedah yang berkesan.

Pelaksanaan C#

C# menyediakan penyelesaian yang bersih untuk mendapatkan alamat IP luaran anda:

<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>

Kaedah C# Warisan

Pendekatan yang kurang moden tetapi berfungsi dalam 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>

Penyelesaian Baris Perintah

Arahan merentas platform ini menawarkan alternatif:

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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Alamat IP Awam Penghala Saya Secara Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn