
C# lấy địa chỉ IP internet của máy tính
Lấy kết quả trả về khi chạy Command Prompt:
public static string RunCMD(string cmd) { Process cmdProcess; cmdProcess = new Process(); cmdProcess.StartInfo.FileName = "cmd.exe"; cmdProcess.StartInfo.Arguments = "/c " + cmd; cmdProcess.StartInfo.RedirectStandardOutput = true; cmdProcess.StartInfo.UseShellExecute = false; cmdProcess.StartInfo.CreateNoWindow = true; cmdProcess.Start(); string output = cmdProcess.StandardOutput.ReadToEnd(); cmdProcess.WaitForExit(); if (String.IsNullOrEmpty(output)) return ""; return output; }
Lấy địa chỉ IP thông qua cách sử dụng CMD:
Chú ý: using System.Text.RegularExpressions;
public static string GetIP() { try { string output = RunCMD("nslookup myip.opendns.com. resolver1.opendns.com"); var ip = Regex.Matches(output, @"\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"); return ip[1].Value; } catch { return "127.0.0.1"; } }
Một cách khác lấy địa chỉ IP thông qua trang http://ipinfo.io/ip
public static string getIpInternet() { try { using (System.Net.WebClient client = new System.Net.WebClient()) { string ip = client.DownloadString("http://ipinfo.io/ip"); ip = ip.Replace("\r", "").Replace("\n", ""); return ip; } } catch { return "127.0.0.1"; } }
Theo dõi
0 Góp ý