Home >Backend Development >C++ >How Can I Programmatically Determine My Router's Public IP Address?
Knowing your router's public IP address is essential for various network management tasks. However, directly accessing this information from your router isn't always straightforward. This guide explores effective methods.
C# Implementation
C# provides a clean solution for obtaining your external IP address:
<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>
Legacy C# Method
A less modern, but functional approach in 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>
Command-Line Solutions
These cross-platform commands offer alternatives:
wget -qO- http://bot.whatismyipaddress.com
curl http://ipinfo.io/ip
The above is the detailed content of How Can I Programmatically Determine My Router's Public IP Address?. For more information, please follow other related articles on the PHP Chinese website!