當前位置:首頁 » 雲伺服器 » aspnet獲取伺服器ip

aspnet獲取伺服器ip

發布時間: 2022-01-16 12:53:29

『壹』 asp.net 獲取伺服器信息

using System.Management;

string stringMAC = "";

string stringIP = "";

ManagementClass MC = new ManagementClass "Win32_NetworkAdapterConfiguration");

ManagementObjectCollection MOC= MC.GetInstances();

foreach(ManagementObject MO in MOC)

{

if ((bool)MO["IPEnabled"] == true)

{

stringMAC += MO["MACAddress"].ToString();

TextMAC.Text = stringMAC.ToString();

string[] IPAddresses = (string[]) MO["IPAddress"];

if(IPAddresses.Length > 0)

stringIP = IPAddresses[0];

TextIP.Text = stringIP.ToString();

}

}
另外,虛機團上產品團購,超級便宜

『貳』 ASP.NET 怎麼獲取客戶端的外網IP地址,急~

在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 來取得客戶端的IP地址,但如果客戶端是使用代理伺服器訪問,那取到的就是代理伺服器的IP地址,而不是真正的客戶端IP地址。

要想透過代理伺服器取得客戶端的真實IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取。

不過要注意的事,並不是每個代理伺服器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理伺服器的IP。

還有一點需要注意的是:如果客戶端沒有通過代理伺服器來訪問,那麼用 Request.ServerVariables ("HTTP_X_FORWARDED_FOR") 取到的值將是空的。因此,如果要在程序中使用此方法,可以這樣處理:
......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......

//方法一
HttpContext.Current.Request.UserHostAddress;

//方法二
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

//方法三
string strHostName = System.Net.Dns.GetHostName();
string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();

//方法四(無視代理)
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

客戶端:

//方法五
var ip = '<!--#echo var="REMOTE_ADDR"-->';
alert("Your IP address is "+ip);

//方法六(無視代理)
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//
}

return rslt;
}

來自印度的MCT Maulik Patel提供了一種服務端的解決方案,很好:

if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // 伺服器, using proxy
{
得到真實的客戶端地址
ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.
}
else//如果沒有使用代理伺服器或者得不到客戶端的ip not using proxy or can't get the Client IP
{

得到服務端的地址
ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
}
有些客戶端會因為「header_access deny」的安全設置而不發給我們Ip

『叄』 asp.net 怎麼獲取客戶端真實 IP

asp.net中獲取客戶端ip地址的兩種方法方法一:/// <summary /// 獲取用戶登錄IP /// </summary /// <returns</returns string GetIp(){//可以透過代理伺服器 string userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (userIP == null || userIP == ""){//沒有代理伺服器,如果有代理伺服器獲取的是代理伺服器的IP userIP = Request.ServerVariables["REMOTE_ADDR"];}return userIP;}方法二:(很抱歉,這種方法獲取的是伺服器端的IP) //需要using System.Net; string hostname = Dns.GetHostName();//伺服器的用戶名 Response.Write("HostName:"+hostname); IPAddress[] address = Dns.GetHostAddresses(hostname);//獲取伺服器端IP列表,第一IP是address[0] IPEndPoint ipendpoint = new IPEndPoint(address[0], 1234);

『肆』 ASP.NET 頁面登錄時獲取IP地址。【要所有的方法、】

你可以參考以下的代碼試試

/// <summary>
/// 獲取遠程訪問用戶的Ip地址
/// </summary>
/// <returns>返回Ip地址</returns>
protected string GetLoginIp()
{
string loginip = "";
//Request.ServerVariables[""]--獲取服務變數集合
if (Request.ServerVariables["REMOTE_ADDR"] != null) //判斷發出請求的遠程主機的ip地址是否為空
{
//獲取發出請求的遠程主機的Ip地址
loginip = Request.ServerVariables["REMOTE_ADDR"].ToString();
}
//判斷登記用戶是否使用設置代理
else if (Request.ServerVariables["HTTP_VIA"] != null)
{
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
{
//獲取代理的伺服器Ip地址
loginip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else
{
//獲取客戶端IP
loginip = Request.UserHostAddress;
}
}
else
{
//獲取客戶端IP
loginip = Request.UserHostAddress;
}
return loginip;
}

『伍』 ASP.NET怎麼可以獲取的IP代碼

在 ASP 中使用 Request.ServerVariables("REMOTE_ADDR") 來取得客戶端的 IP 地址,但如果客戶端是使用代理服務
器來訪問,那取到的就是代理伺服器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理伺服器取得客戶端的真實
IP 地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取。
不過要注意的事,並不是每個代理伺服器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理伺服器的 IP。
還有一點需要注意的是:如果客戶端沒有通過代理伺服器來訪問,那麼用 Request.ServerVariables
("HTTP_X_FORWARDED_FOR") 取到的值將是空的。因此,如果要在程序中使用此方法,可以這樣處理:
......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......

即:如果客戶端通過代理伺服器,則取 HTTP_X_FORWARDED_FOR 的值,如果沒通過代理伺服器,就取 REMOTE_ADDR 的值。

『陸』 asp.net怎麼獲取伺服器端得到訪問者的外網IP

Request.UserHostAddress

在controller的action中直接用這個獲取用戶的公網IP。

『柒』 asp.net網站發布到伺服器之後,獲取的客戶端IP都是127.0.0.1,為什麼

publicstringIPAddress()
{
stringresult=String.Empty;
result=HttpContext.Current.Request.ServerVariables["HTTP_VIA"];
if(!string.IsNullOrEmpty(result))
{
result=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(!string.IsNullOrEmpty(result))
{
//可能有代理
if(result.IndexOf(".")==-1)//沒有"."肯定是非IPv4格式
result=null;
else
{
if(result.IndexOf(",")>=0)
{
//有",",估計多個代理。取第一個不是內網的IP。
result=result.Replace("","").Replace("'","").Replace(";","");
string[]temparyip=result.Split(',');
for(inti=0;i<temparyip.Length;i++)
{
if(IsIPAddress(temparyip[i]))
{
if(!temparyip[i].StartsWith("10.")&&!temparyip[i].StartsWith("192.168")&&!temparyip[i].StartsWith("172.16."))
{
result=temparyip[i];//找到不是內網的地址
break;
}
}
}
}
if(!IsIPAddress(result))//代理即是IP格式
{
result=null;//代理中的內容非IP,取IPk
}
}
}
}
else
{
result=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if(string.IsNullOrEmpty(result))
{
result=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if(string.IsNullOrEmpty(result))
{
result=HttpContext.Current.Request.UserHostAddress;
}
if(string.IsNullOrEmpty(result))
{
result="000.000.000.000";
}
returnresult;
}

『捌』 asp.net怎麼獲取客戶端的IP地址,不是伺服器的ip

if HttpContext.Current.Request.UserHostAddress 為空
else

HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

『玖』 asp.net怎麼獲取當前登錄用戶的ip地址

你用本機測試肯定會是127.0.0.1 的 即使修改了host裡面的也不行 換台電腦試試就行了

熱點內容
戰地配置有哪些 發布:2024-10-18 16:44:48 瀏覽:308
中國聯通簡訊提示服務密碼未完善是什麼意思 發布:2024-10-18 16:42:17 瀏覽:709
c語言中非 發布:2024-10-18 16:21:20 瀏覽:143
招編程人員 發布:2024-10-18 16:19:37 瀏覽:422
什麼數據類型存儲圖片 發布:2024-10-18 16:19:28 瀏覽:749
電腦維護伺服器 發布:2024-10-18 16:18:51 瀏覽:435
取捨演算法 發布:2024-10-18 16:12:36 瀏覽:249
安卓數據線一般在什麼價位 發布:2024-10-18 16:09:25 瀏覽:732
老式安卓機怎麼插卡 發布:2024-10-18 15:52:35 瀏覽:338
pc搭建nas伺服器 發布:2024-10-18 15:51:59 瀏覽:266