asp.net怎么取得客户端真实IP。如果有代理则怎么取第一个非内网地址

asp.net怎么获取客户端的真实ip最好不要代理的,如果是代理则怎么取第一个非内网地址?... asp.net怎么获取客户端的真实ip最好不要代理的,如果是代理则怎么取第一个非内网地址? 展开
 我来答
匿名用户
2013-08-19
展开全部
using System;
using System.Web;

namespace KkSys.Web
{
public class PageInfor
{
/// <summary>
/// 获取页面名(包括扩展名)
/// </summary>
public static string PageName
{
get
{
return HttpContext.Current.Request.Url.AbsolutePath.Substring(HttpContext.Current.Request.Url.AbsolutePath.LastIndexOf('/') + 1);
}
}

/// <summary>
/// 用户IP
/// </summary>
public static string UserIP
{
get
{
string user_IP = "";
if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
{
user_IP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else
{
user_IP = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
}
return user_IP;
}
}

/// <summary>
/// web服务器的名称和版本
/// </summary>
public static string WebName
{
get
{
return HttpContext.Current.Request.ServerVariables["SERVER_NAME"];
}
}

/// <summary>
/// 协议的名称和版本
/// </summary>
public static string PROTOCOL
{
get
{
return HttpContext.Current.Request.ServerVariables["SERVER_PROTOCOL"];
}
}

/// <summary>
/// 服务器处理请求的端口
/// </summary>
public static string PORT
{
get
{
return HttpContext.Current.Request.ServerVariables["SERVER_PORT"];
}
}

/// <summary>
/// 获取跟目录路径
/// </summary>
public static string GetServerPath
{
get
{
return HttpContext.Current.Server.MapPath("~");
}
}

/// <summary>
/// 获取当前路径
/// </summary>
public static string GetCurrentPath
{
get
{
return HttpContext.Current.Server.MapPath("");
}
}

/// <summary>
/// 服务器的主机名
/// </summary>
public static string ServerName
{
get
{
return HttpContext.Current.Request.ServerVariables["LOGON_USER"];
}
}

/// <summary>
/// 服务器类型
/// </summary>
public static string ServerIp
{
get
{
return HttpContext.Current.Request.ServerVariables["LOCAL_ADDR"];
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ipipgo
2023-11-29 广告
作为南京光年之内网络科技有限公司的工作人员,我可以回答跨境电商代理IP的问题。代理IP可以帮助突破IP访问限制,提高网络访问速度和稳定性,同时还能保护用户的隐私和安全。我们公司提供的代理IP服务具有高速、稳定、安全、灵活的特点,能够帮助用户... 点击进入详情页
本回答由ipipgo提供
匿名用户
2013-08-19
展开全部
巧了,以前在公司主管还真让写过一个。using System.IO;using System.Net;using System.Text;using System.Text.RegularExpressions; static string GetPage(string url) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); try { using (HttpWebResponse res = (HttpWebResponse)req.GetResponse()) { using (StreamReader sr = new StreamReader(res.GetResponseStream())) { return sr.ReadToEnd(); } } } catch (System.Exception e) { return e.Message; } finally { req.Abort(); } } // 通过外部网站得到本机的外部IP static string GetOuterIP() { string patt = @"IP: \[(?[0-9\.]*)\]"; string url = " http://www.skyiv.com/info"; return Regex.Match(GetPage(url), patt).Groups["IP"].Value; }看看好用不
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-19
展开全部
string IP=Request.ServerVariables["REMOTE_ADDR"];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式