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

Posted

tags:

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

如何用js获取浏览器端IP地址,可以用jquery,没有外网,没法改后台

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

$.getJSON("http://chaxun.1616.net/ip.htm",
function (data)
alert(data.ip);
).error(function () alert("获取IP失败请联网查询"); ) ;

IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。

IP地址类型;

公有地址:

公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。

私有地址:

私有地址(Private address)属于非注册地址,专门为组织机构内部使用。

以下列出留用的内部私有地址:

A类 10.0.0.0--10.255.255.255

B类 172.16.0.0--172.31.255.255

C类 192.168.0.0--192.168.255.255

参考技术A 看看这个对你有帮助吗

http://blog.csdn.net/zyw_anquan/article/details/7970869本回答被提问者采纳

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调用获取显示本回答被提问者采纳

以上是关于js或jquery获取浏览器端IP地址的主要内容,如果未能解决你的问题,请参考以下文章

js 怎么获取本地ip\

java web 如何防止 用户绕过js验证,直接地址栏提交表单或自己编写html页面,提交数据到服务器?

jquery获取客户端ip地址

JS获取本机IP地址的方法(附上解决浏览器无法获取IP的方法)

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

用jQuery来判断浏览器的类型及javascript获取用户ip地址