永发信息网

asp.net获得客户端外网IP

答案:3  悬赏:60  手机版
解决时间 2021-02-07 03:54
  • 提问者网友:孤凫
  • 2021-02-06 12:06
现在我需要ASP.NET做一个网站,当用户浏览该网站时、后台程序自动获取用户的外网IP、根据IP判断出其所在城市、希望看到问题的人 能帮解决一下、感激不尽、
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-02-06 13:21
一. 你需要一个IP TABLE, 这个IP TABLE里面记录了各个网段的IP归属地址;
它能够供你查询用户所有IP段的归属地;
二. 通过Page.Request.UserHostAddress获取得到用户的IP地址;
三. 将得到的IP地址转换成IP TABLE数据表中相对应的格式, 然后进行区域比对就能够得到归属地;

以上提到的IP TABLE能够在BAIDU里找到; 输入关键词: IP数据库
然后下载一个MDB数据库文件, 就OK了;
有最新版本;
全部回答
  • 1楼网友:醉吻情书
  • 2021-02-06 16:15
string ip=""; ip= Request.UserHostAddress;
  • 2楼网友:蕴藏春秋
  • 2021-02-06 14:40
获取的 ip 一般是客户端的 ip 或是代理 ip 的。你上传以后,你还是以当前机器访问的话,获得的就是你的上互联网所用的ip,比如你的路由器现在被分配的ip。。。 不大可能会变成别的。 但如果别人在山东访问,那获取的就是山东的那个ip才是。。。 最好将你的获取ip的方法弄出来看看。。。如果你获取的是服务器的ip,那你的方法肯定是错误的。你的服务器的机房不会是汕头的吧? 另外,汕头好像是广东的? userip = request.servervariables("http_x_forwarded_for") if userip = "" then userip = request.servervariables("remote_addr") 这样子来 if (system.web.httpcontext.current.request.servervariables["http_via"] != null) { return system.web.httpcontext.current.request.servervariables["http_x_forwarded_for"].tostring(); } else { return system.web.httpcontext.current.request.servervariables["remote_addr"].tostring(); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯