jquery获取客户端ip地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery获取客户端ip地址相关的知识,希望对你有一定的参考价值。

jquery获取客户端ip地址 或者用js判断客户机是内外ip还是外网ip,求分享

Js本身无法,用Jquery去ajax一个后端地址,获得IP,就要获得了IP,就能知道是内网还是外网了(内网一般都是192.168.XXX.XXX)追问

能不能给断代码参考,这方面没弄过,下不了收,谢

追答

比如 php
function get_onlineip()
$onlineip = '';
if(getenv(HTTP_CLIENT_IP) && strcasecmp(getenv(HTTP_CLIENT_IP), unknown))
$onlineip = getenv(HTTP_CLIENT_IP);
elseif(getenv(HTTP_X_FORWARDED_FOR) && strcasecmp(getenv(HTTP_X_FORWARDED_FOR), unknown))
$onlineip = getenv(HTTP_X_FORWARDED_FOR);
elseif(getenv(REMOTE_ADDR) && strcasecmp(getenv(REMOTE_ADDR), unknown))
$onlineip = getenv(REMOTE_ADDR);
elseif(isset($_SERVER[REMOTE_ADDR]) && $_SERVER[REMOTE_ADDR] && strcasecmp($_SERVER[REMOTE_ADDR], unknown))
$onlineip = $_SERVER[REMOTE_ADDR];

return $onlineip;

追问

额,我这里是java js 不是php

参考技术A 既然楼主用java的话

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.eehome.app.mail.IMailConstant;
import com.eehome.app.mail.model.RouterPassAuth;

/**
* @author wensong
* 2010-9-4 下午03:34:58
*/
public class RouteIpUtils

private final static RouteIpUtils routeIpUtils = new RouteIpUtils();

private RouteIpUtils()



public static RouteIpUtils getInstance()
//验证器工具的实例进行注册
Authenticator.setDefault(new RouterPassAuth());
return routeIpUtils;


public String getRouteIp() throws IOException
StringBuffer wanPacket = getWanPacket();
return getFirstIp(wanPacket);


/**
* 获得路由Web中的状态页面上的数据
*
* @return
* @throws IOException
*/
private StringBuffer getWanPacket() throws IOException
URL url = new URL(IMailConstant.ROUTE_WEB_STATE);
InputStream ins = null;
try
ins = url.openConnection().getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(ins));
String str;
boolean flag = false;
StringBuffer wanPacket = new StringBuffer();
int num = 3;
while ((str = reader.readLine()) != null && num > 0)
if (str.contains("var wanPara = new Array("))
flag = true;

if (flag)
wanPacket.append(str);
num--;


return wanPacket;
finally
if(ins!=null)
ins.close();




private String getFirstIp(StringBuffer wanPacket)
// 找出数据包中第一个匹配的IP,即为Ip
Pattern p = Pattern.compile("\\d+\\.\\d+\\.\\d+\\.\\d+");
Matcher m = p.matcher(wanPacket);
if (m.find())
return m.group();
else
return null;



public static void main(String[] args)
try
System.out.println(RouteIpUtils.getInstance().getRouteIp());
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();



然后调用我上面的方法,用servlet的response打印到网页上不就可以了吗
然后用js调用获取显示本回答被提问者采纳

Java Web如何获取客户端的Hostname?

Java Web使用Spring框架 Tomcat部署在linux系统
请问如何获取客户端的Hostname传给后端做资料处理?
request.getRemoteHost();已测返回的是IP地址
需要JSP页面先行获取么 JS/JQuery如何获取?

参考技术A 在Java web中获取hostname的方法:
使用request对象。用:
request.getHostName();
参考技术B 取不到的,web通信,在网络上传输的只有ip,没有主机名信息的 参考技术C js获取主机名可以看看这个:
http://blog.csdn.net/zyw_anquan/article/details/7970869本回答被提问者采纳
参考技术D java.net.InetAddress inetAddress = new java.net.InetAddress();
inetAddress.getLocalHost().getHostName();

以上是关于jquery获取客户端ip地址的主要内容,如果未能解决你的问题,请参考以下文章

如何使用jQuery获取客户端ip地址

JavaScript 如何使用jQuery获取客户端IP地址

如何用js或者jquery获取客户端的IP地址

Java Web如何获取客户端的Hostname?

js或jquery获取浏览器端IP地址

如何用js或jquery获取浏览器端IP地址?