就这么简单。Asp.NET |获取IP当用户打开网站时点击一个按钮
我想将IP保存在会话ID或。当他在一个按钮,点击它会做这样的:
using (StreamWriter writer = new StreamWriter(fileStream))
{
writer.WriteLine(TextBox1.Text);
}
(它不是所有的代码OFC)
,当他点击一个按钮,它会WIRTE的IP到文件中。 :)
有什么办法呢?
就这么简单。Asp.NET |获取IP当用户打开网站时点击一个按钮
我想将IP保存在会话ID或。当他在一个按钮,点击它会做这样的:
using (StreamWriter writer = new StreamWriter(fileStream))
{
writer.WriteLine(TextBox1.Text);
}
(它不是所有的代码OFC)
,当他点击一个按钮,它会WIRTE的IP到文件中。 :)
有什么办法呢?
用途:
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"];
}
,我会同意@巴里的职位关于这不是一个完美的解决方案。
要获取用户的IP地址,请使用Request.UserHostAddress
,但请注意,这不是一个完美的解决方案,因为它不会显示单个用户的位置,例如他们位于防火墙后面的公司网络中,只显示一个(或多个)外部公司IP地址。
我已经尝试做到这一点:protected void Page_Load(object sender,EventArgs e) Session [“Id”] = HttpContext.Current.Request.UserHostAddress; },当我是dogin时,它不工作:writer.WriteLine(Session [“Id”]。ToString()); –
看看这可以帮助你:http://stackoverflow.com/questions/735350/how-to-get-a-users-client-ip-address-in-asp-net。 – Fred