区分内网与外网IP

care365 2009-05-28 09:52:04
有个应用,可以内网和外网访问,,我怎么在程序中判断他们是内网访问的还是在外网访问的,也就是我在外网访问服务器的时候,怎么获得本地的IP...
内网的IP是以172.22.80开头的
下面这个不行,希望大家帮我改改,先谢谢了
String localIp = request.getRemoteAddr();
String url = "";
if (localIp.indexOf("172.22.80")!=-1) {
System.out.println("内网");
}else {
System.out.println("外网");
}
...全文
107 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
care365 2009-05-29
  • 打赏
  • 举报
回复
谢谢大家了,,我的问题已经解决了..我是先获得request.getRequestURL(),看他所用的IP是不是172.22.80开头的,如果他访问的地址是以这个开头的我就判断它为内网,...再次谢谢
great1681 2009-05-29
  • 打赏
  • 举报
回复
关注~~
fangpengyu 2009-05-29
  • 打赏
  • 举报
回复
局域网ip一般是以10;172.16;192.168开头的
knightzhuwei 2009-05-29
  • 打赏
  • 举报
回复
一般以192.168开头或者以10.开头的都是内网ip吧
warwolf99 2009-05-29
  • 打赏
  • 举报
回复
局域网一半是3类4类的ip段,看看子网掩码
andrewbornglobal 2009-05-28
  • 打赏
  • 举报
回复
学习了
care365 2009-05-28
  • 打赏
  • 举报
回复
我试了,这样做没有达到效果..如果大家有更好的想法请提供下,,谢谢
qiheia 2009-05-28
  • 打赏
  • 举报
回复
这样做可是可以,但有很大的局限性,假如说你们公司的Ip该了的话,你这样设计就没有作用了。。。。
care365 2009-05-28
  • 打赏
  • 举报
回复
我们公司的是以172开头的,我想要的结果就是在外网访问时,得到自己本地的IP而不是172开头的ip
lgq_0714 2009-05-28
  • 打赏
  • 举报
回复
内网IP地址一般是以192.168开头的

http://zhidao.baidu.com/question/38095398.html
heavilyarmed 2009-05-28
  • 打赏
  • 举报
回复
正在学习这方面的知识········
winit 2009-05-28
  • 打赏
  • 举报
回复
需要看你们的网关地址吧,使用子网掩码
http://zhidao.baidu.com/question/18242564.html

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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