寻找高手解决ASP.NET中获取客户端的内网IP方法。

VicSoft 2009-12-16 08:36:13
也就是获取客户端自己设置的本地IP地址。如:192.168.1.8等。

并不是外网的IP地址。

在线等。谢谢!
...全文
620 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
tapac 2011-11-30
  • 打赏
  • 举报
回复
此方法要求服务器和内网机器在一个局域网内[Quote=引用 18 楼 tapac 的回复:]
我也想解决这个问题,搜了好多方法都不理想,自己想了一个办法。
假设服务器内网ip:192.168.1.6

你公司公网ip:60.11.9.24

所有内网用户访问都会留下公网IP:60.11.9.24。
在网站首页判断如来访IP为60.11.9.24,则将网站转向192.168.1.6的内网访问。这样就可以记录到内网机器IP了。
[/Quote]
tapac 2011-11-30
  • 打赏
  • 举报
回复
我也想解决这个问题,搜了好多方法都不理想,自己想了一个办法。
假设服务器内网ip:192.168.1.6

你公司公网ip:60.11.9.24

所有内网用户访问都会留下公网IP:60.11.9.24。
在网站首页判断如来访IP为60.11.9.24,则将网站转向192.168.1.6的内网访问。这样就可以记录到内网机器IP了。
VicSoft 2009-12-16
  • 打赏
  • 举报
回复
我想要有一个完整的代码
能够用于ASP.NET的
只要能够实现就行
jidianxueyuan 2009-12-16
  • 打赏
  • 举报
回复
你用什么获取啊 是脚本还是什么啊
VicSoft 2009-12-16
  • 打赏
  • 举报
回复
我需要的是客户端内网的IP。

OCX控件还不会写,还请指点
VicSoft 2009-12-16
  • 打赏
  • 举报
回复
JS的会阻挡

VicSoft 2009-12-16
  • 打赏
  • 举报
回复
此法行不通
ldcah 2009-12-16
  • 打赏
  • 举报
回复
//获取客户端 IP
_Ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
exiori 2009-12-16
  • 打赏
  • 举报
回复
JS一般都不会让你运行了。只有自己写OCX,这个只能这么弄的。
VicSoft 2009-12-16
  • 打赏
  • 举报
回复
测试中。。。
CODE163 2009-12-16
  • 打赏
  • 举报
回复
JS获取(会被正常IE设置拦截) 或者 自己写OCX控件获取(相当啰嗦 对大多数网站不实用) 或者 打消这个念头!

JS获取客户端IP

PS:理由是 高层服务和TCP/IP等底层协议无关,当数据传送过每一节点时,本节点底层数据替换上一节点的!IP地址也是 因为内网的数据要到公网必定经过网关 所以网关的IP一定会替换你本机的!
jidianxueyuan 2009-12-16
  • 打赏
  • 举报
回复

private string GetClientIP()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}

if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
jidianxueyuan 2009-12-16
  • 打赏
  • 举报
回复
private string GetClientIP()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}

if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
VicSoft 2009-12-16
  • 打赏
  • 举报
回复
谁是高手,请进来哦
sunchen891229 2009-12-16
  • 打赏
  • 举报
回复
路过~~~
huang6558 2009-12-16
  • 打赏
  • 举报
回复
string ipaddress = Request.UserHostAddress;
llsen 2009-12-16
  • 打赏
  • 举报
回复
Page.Request.UserHostAddress
好像就行啊
CODE163 2009-12-16
  • 打赏
  • 举报
回复
你不如说说你的具体需求 说不定还有曲线救国的方案
CODE163 2009-12-16
  • 打赏
  • 举报
回复
OCX 我有 怕你也用不了!因为他需要数字签名才能被下载!数字签名需要到认证机构去认证 每年都要交 好多$!不适用一般网站 我说的三个方法你看来理解了第一个了 现在换第二个 一般情况下 还会考虑第三个的 !


我有个测试的OCX

你可以试试效果 这个OCX是C++写的得到MAC地址的!
必须先下载安装控件才能运行
点击按钮后看C盘 有个DYSDN的TXT文件 然后里面就是你的第一个MAC地址!


先打开 www.dysdn.cn 顺便赠送我个IP呵呵

然后输入1.htm 也就是 http://www.dysdn.cn/1.htm

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧