ASP.NET擷取IP及電腦名等資訊的簡單方法+通用類檔案源碼

來源:互聯網
上載者:User
1. 在ASP .NET 中專用屬性:
擷取伺服器電腦名:Page.Server.ManchineName
擷取使用者資訊:Page.User
擷取用戶端電腦名:Page.Request.UserHostName
擷取用戶端電腦 IP:Page.Request.UserHostAddress

2. 在網路編程中的通用方法:
擷取當前電腦名:static System.Net.Dns.GetHostName()
根據電腦名取出全部IP地址:static System.Net.Dns.Resolve(電腦名).AddressList
也可根據IP地址取出電腦名:static System.Net.Dns.Resolve(IP地址).HostName

3. 系統內容類的通用屬性:
當前電腦名:static System.Environment.MachineName
當前電腦所屬網域:static System.Environment.UserDomainName
當前電腦使用者:static System.Environment.UserName

一個擷取本機內網和外網IP的公用類 

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
namespace ipip
{
 /// <summary>
 /// Class1 的摘要說明。
 /// 擷取本機上網IP和內網IP
 /// </summary>
 public class Class1
 {
 
  private string strgetIP;
  
  public Class1()
  {  
  netIP();
  getIP(); 
  }
  
   public string renetIP()
  {return netIP();}//返回網路IP

  public string regetIP()
  {return strgetIP;}//返回內網IP

  
  static string netIP()
  {
   Uri uri = new Uri("http://www.ikaka.com/ip/index.asp");//查本機網路IP的網頁
   HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
   req.Method = "POST";
   req.ContentType = "application/x-www-form-urlencoded";
   req.ContentLength = 0;
   req.CookieContainer = new CookieContainer();
   req.GetRequestStream().Write(new byte [0], 0, 0);
   HttpWebResponse res = (HttpWebResponse)(req.GetResponse());
   StreamReader rs = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("GB18030"));
   string s = rs.ReadToEnd();
   rs.Close();
   req.Abort();
   res.Close();
   Match m = Regex.Match(s, @"IP:\[(?<IP>[0-9\.]*)\]");
   if (m.Success) return m.Groups["IP"].Value;
   string strnetIP= string.Empty;
   return strnetIP;
  }

  public string getIP()//注意與static 的區別
  {
   System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;//擷取本機內網IP
  

    strgetIP = addressList[0].ToString();
    return strgetIP;
   
  }  
 }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.