Software Dev - Freelancer
0902.035.028 - hainh2k3@gmail.com

C# lấy địa chỉ IP internet của máy tính

Bởi Nguyễn Hoàng Hải
230 Xem

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";
  }
}

 

4.3 3 votes
Article Rating

CÓ THỂ BẠN QUAN TÂM

Theo dõi
Notify of
0 Comments
Inline Feedbacks
Xem tất cả bình luận