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了;
有最新版本;
它能够供你查询用户所有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(); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯