91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#獲取本機IP搜集整理7種方法

admin
2018年9月8日 16:29 本文熱度 6397

 private void GetIP()
 {
     string hostName = Dns.GetHostName();//本機名
     //System.Net.IPAddress[] addressList = Dns.GetHostByName(hostName).AddressList;//會警告GetHostByName()已過期,我運行時且只返回了一個IPv4的地址
     System.Net.IPAddress[] addressList = Dns.GetHostAddresses(hostName);//會返回所有地址,包括IPv4和IPv6
     foreach (IPAddress ip in addressList)
     {
         listBox1.Items.Add(ip.ToString());
     }


②使用IPHostEntry獲取本機局域網(wǎng)地址

static string GetLocalIp()
{
 string hostname = Dns.GetHostName();//得到本機名
 //IPHostEntry localhost = Dns.GetHostByName(hostname);//方法已過期,只得到IPv4的地址
 IPHostEntry localhost = Dns.GetHostEntry(hostname);
 IPAddress localaddr = localhost.AddressList[0];
 return localaddr.ToString();
}


③獲取本機網(wǎng)絡(luò)ip地址

 方法時通過向網(wǎng)站向一些提供IP查詢的網(wǎng)站發(fā)送webrequest,然后分析返回的數(shù)據(jù)流

string strUrl = "提供IP查詢的網(wǎng)站的鏈接";
Uri uri = new Uri(strUrl);
WebRequest webreq = WebRequest.Create(uri);
Stream s = webreq .GetResponse().GetResponseStream();
StreamReader sr = new StreamReader(s, Encoding.Default);
string all = sr.ReadToEnd();
int i = all.IndexOf("[") + 1;
//分析字符串得到IP
return ip;
/*
我用的是http://www.ip.cn/getip.php?action=getip&ip_url=&from=web
(這種鏈接很容易找的,百度“IP”得到一些網(wǎng)站,分析一下網(wǎng)站的鏈接就能得到)
返回的數(shù)據(jù)是:
<div class="well"><p>當前 IP:<code>0.0.0.0</code>&nbsp;來自:XX省XX市 電信</p><p>GeoIP: Beijing, China</p></div>
解析這段就行
*/


④//由于用到了ManagementClass、ManagementObjectCollection;必須添加引用System.Management.dll及using System.Management;
private void GetIP2()
{
  string stringMAC = "";
  string stringIP = "";
  ManagementClass managementClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
  ManagementObjectCollection managementObjectCollection = managementClass.GetInstances();
  foreach(ManagementObject managementObject in managementObjectCollection)
  {
      if ((bool)managementObject["IPEnabled"] == true)
     {
         stringMAC += managementObject["MACAddress"].ToString();
         string[] IPAddresses = (string[])managementObject["IPAddress"];
         if (IPAddresses.Length > 0)
         {
             stringIP = IPAddresses[0];
         }
     }
  }
  txtMAC.Text = stringMAC.ToString();
  txtIP.Text = stringIP.ToString();
}


⑤調(diào)用一個網(wǎng)站提供的Web服務(wù)來查詢IP網(wǎng)址:http://www.webxml.com.cn/zh_cn/web_services.aspx
服務(wù):http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx
弄了好半天,但是沒學會怎樣調(diào)用Web Service,按照搜到的頁面做也不行,遂先放棄吧.....
畢竟還未接觸到WebService,改天把WebService搞定再來一定就容易了(留待以后完善吧)

⑥通過獲取CMD里ipconfig命令的結(jié)果來得到IP

private void GetIP6()
{
  Process cmd = new Process();
  cmd.StartInfo.FileName = "ipconfig.exe";//設(shè)置程序名
  cmd.StartInfo.Arguments = "/all";  //參數(shù)
  //重定向標準輸出
  cmd.StartInfo.RedirectStandardOutput = true;
  cmd.StartInfo.RedirectStandardInput = true;
  cmd.StartInfo.UseShellExecute = false;
  cmd.StartInfo.CreateNoWindow = true;//不顯示窗口(控制臺程序是黑屏)
  //cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//暫時不明白什么意思
  /*
  收集一下 有備無患
  關(guān)于:ProcessWindowStyle.Hidden隱藏后如何再顯示?
  hwndWin32Host = Win32Native.FindWindow(null, win32Exinfo.windowsName);
  Win32Native.ShowWindow(hwndWin32Host, 1);     //先FindWindow找到窗口后再ShowWindow
  */
  cmd.Start();
  string info = cmd.StandardOutput.ReadToEnd();
  cmd.WaitForExit();
  cmd.Close();
  textBox1.AppendText(info);
}


⑦NetworkInformation

private void GetIP5()
{
  //需要的命名空間
  //using System.Net.NetworkInformation;
  //using System.Net.Sockets;
  string str = "";
  NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
  int i = 0;
  foreach (NetworkInterface adapter in adapters)
  {
    IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
    UnicastIPAddressInformationCollection allAddress = adapterProperties.UnicastAddresses;
    if (allAddress.Count > 0)
    {
        str += "interface   " + i + "description: \t " + adapter.Description + " ";
        i++;
        foreach (UnicastIPAddressInformation addr in allAddress)
        {
            if (addr.Address.AddressFamily == AddressFamily.InterNetworkV6)
            {
                ipListComb.Items.Add(addr.Address);
            }
            if (addr.Address.AddressFamily == AddressFamily.InterNetwork)
            {
                comboBox1.Items.Add(addr.Address);
            }
        }
    }
  }
  MessageBox.Show(str);
}


該文章在 2018/9/8 16:29:48 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产欧美在线视频免 | 国内揄拍国内精品视 | 国产精品资源导航 | 91精品视频网址 | 欧美午夜性刺激在线 | 91办公室监控一区 | 亚洲无码久久影视 | 欧美日韩免 | 97人人干人人。 | 韩国三级视频网站 | 日本免费高清亚洲 | 成人国产亚 | 国产热妇 | 动漫一区二区三区 | 品一二三产区 | 国产免费无遮 | 99热在线上 | 九九精品成人 | 九一在线观看 | 国产精品网站在 | 九九在线观看视 | 国产福利免费视频 | 青娱乐极品视频中 | 国产普通| 日韩精品suv | 国产日韩一二三四区 | 99精品热在线 | 91狠狠综合久| 九九在线观看视 | 乱伦日本亚洲中文 | 国产青草精 | 区二区视频在线观看 | 日韩免费在线视频 | 3d动漫精品| 国内欧美日韩在线 | 69成人免费视频 | 漂亮大学 | 日本一区二区成人 | 国产美女制服丝 | 国产福利在线导航 | 国产69精品xxx |