ASP.NET 怎么获取客户端的外网IP地址,急~

ASP.NET 怎么获取客户端的外网IP地址,急~,第1张

在ASP中使用 RequestServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。
要想透过代理服务器取得客户端的真实IP地址,就要使用 RequestServerVariables(">一 你需要一个IP TABLE, 这个IP TABLE里面记录了各个网段的IP归属地址;
它能够供你查询用户所有IP段的归属地;
二 通过PageRequestUserHostAddress获取得到用户的IP地址;
三 将得到的IP地址转换成IP TABLE数据表中相对应的格式, 然后进行区域比对就能够得到归属地;
以上提到的IP TABLE能够在BAIDU里找到; 输入关键词: IP数据库
然后下载一个MDB数据库文件, 就OK了;
有最新版本;

1,将数据包由本地网卡发到网关,本地ip就是ipconfig可以查到的
2,网关通过NAT,使用一个端口和公网地址将请求发送到应用程序请求的地址
3,请求从服务器返回给网关;
4,网关将数据返回给本机;
所以呢,如果你想知道在网关上使用的那个地址,可以用抓包工具,
或者用tracert命令,可以查看路由路径

aspnet中获取客户端ip地址的两种方法
方法一:
/// <summary>
/// 获取用户登录IP
/// </summary>
/// <returns></returns>
string GetIp()
{
//可以透过代理服务器
string userIP = RequestServerVariables[">

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12773956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存