博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取客户端IP,
阅读量:6342 次
发布时间:2019-06-22

本文共 1448 字,大约阅读时间需要 4 分钟。

今天Boss说,项目中的报错邮件发回的客户端IP地址不对,居然是自己服务器端的IP地址...我那个汗了一把...百度了一堆,最会也木有找到更好的方法,希望园子里的大牛们给小弟指点指点...

下面是正在使用的获取IP地址的方法. 正如你看到的,有时候仍旧取不到真的准确的IP地址,我想要个能百分之百取得IP地址的方法,只能跪求了....

///     /// 获取ip    ///     /// 当前页    /// 
IP
public static string GetUserIP() { HttpContext context = HttpContext.Current; string clientip = ""; //可以透过代理服务器取得客户端真实的IP,但是并不是每个代理服务器都能用这个方法取得真实IP //如果客户端没有使用代理服务器,这个值就为null,所以必须判断 if (context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null) { clientip = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Trim(); if (clientip.IndexOf(",") > -1) { string[] tempIp = clientip.Split(','); foreach (string s in tempIp) { //192.168.1.1属于IP地址的C类地址,属于保留IP,专门用于路由器设置. if (!s.StartsWith("192.168")) { clientip = s.Trim(); break; } } } } else { //取得客户端的IP地址,如果客户端使用代理服务器,那么取得的就是代理服务器的IP,而不是真实的IP地址 clientip = context.Request.ServerVariables["REMOTE_ADDR"]; } try { IPAddress.Parse(clientip); } catch { clientip = "127.127.0.1"; } return clientip; }

 

转载于:https://www.cnblogs.com/ry123/archive/2012/06/15/2550362.html

你可能感兴趣的文章
windows下开发库路径解决方案
查看>>
linux迁移mysql数据目录
查看>>
脚本源码安装LNMP
查看>>
Percona Server安装
查看>>
函数为左边表达式
查看>>
LoadRunner 12.0.2的安装
查看>>
const,static,extern简介(重要)
查看>>
读书杂谈一
查看>>
winform listbox 元素显示tooltrip
查看>>
cacti安装与配置
查看>>
TF-IDF与余弦相似性的应用(一):自动提取关键词
查看>>
javascript面向对象2
查看>>
限制容器对CPU的使用 - 每天5分钟玩转 Docker 容器技术(28)
查看>>
jquery 实现的一个 随机云标签网页背景
查看>>
RPC
查看>>
android广播事件处理broadcast receive
查看>>
在eclipse 里面 修改tomcat的配置--Server Locations
查看>>
网站 mvc url 路径 设置 为 *.html 的原因
查看>>
mybatis 开启使用 默认的 二级缓存
查看>>
docker 容器 创建和 使用
查看>>