2011-08-03 59 views
0

就這麼簡單。Asp.NET |獲取IP當用戶打開網站時點擊一個按鈕

我想將IP保存在會話ID或。當他在一個按鈕,點擊它會做這樣的:

using (StreamWriter writer = new StreamWriter(fileStream)) 
     { 
      writer.WriteLine(TextBox1.Text); 
      } 

(它不是所有的代碼OFC)

,當他點擊一個按鈕,它會WIRTE的IP到文件中。 :)

有什麼辦法呢?

+0

看看這可以幫助你:http://stackoverflow.com/questions/735350/how-to-get-a-users-client-ip-address-in-asp-net。 – Fred

回答

1

用途:

HttpContext.Current.Request.UserHostAddress; 

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

此外,您可能首先要檢查,如果他是在代理:

if(String.IsNullOrEmpty(HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR"))) { 
    string ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 
} 
else { 
    string ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 

} 

,我會同意@巴里的職位關於這不是一個完美的解決方案。

0

要獲取用戶的IP地址,請使用Request.UserHostAddress,但請注意,這不是一個完美的解決方案,因爲它不會顯示單個用戶的位置,例如他們位於防火牆後面的公司網絡中,只顯示一個(或多個)外部公司IP地址。

+0

我已經嘗試做到這一點:protected void Page_Load(object sender,EventArgs e) Session [「Id」] = HttpContext.Current.Request.UserHostAddress; },當我是dogin時,它不工作:writer.WriteLine(Session [「Id」]。ToString()); –

相關問題