`

java查询IP物理地址

阅读更多

根据访问的IP得到具体的IP物理地址,在这里要采用HttpURLConnection向http://www.ip.cn发送请求,之后由该网站做具体的IP分析,将结果以字符串的形式返回给我们,代码如下:

public class Ipservice {
    //连接对象
    /** 
     * 根据url连接某地址,并返回返回码.
     * 返回码说明:
     *     0~200为正常情况,其中200为OK
     * @param urlStr 需连接的url字符串
     */
    public  void connect(HttpURLConnection conn) throws Exception {
 	   conn.setDoOutput(true);
       conn.setDoInput(true);
	   conn.setRequestMethod("POST");   
    }
    /**
     * 发送ip
     * @param ip地址
     */
    private  void send(String ip,HttpURLConnection conn) throws Exception {   	
      OutputStreamWriter sw=new OutputStreamWriter(new BufferedOutputStream(conn.getOutputStream()));
      sw.write(ip);      
      sw.flush();
      sw.close();
   }
   
    /** 
     * 读取网页的内容.
     * @return 返回ip所在地
     */
    private  String readContents(HttpURLConnection conn) throws Exception {
    	String ip_addr="";
    	int row=0;
        BufferedReader in = null;
        
        in = new BufferedReader(new InputStreamReader(conn
                .getInputStream(),"gb2312"));
        String inputLine;
        while ((inputLine = in.readLine()) != null) {
        	row++;
        //	if(row==3 || row==4)
        		//ip_addr+=inputLine.replace("<string>", "").replace("</string>","")+",";
        		ip_addr+=inputLine;
        		ip_addr=ip_addr.substring(ip_addr.indexOf("来自:")+3);
        } 
        return ip_addr;
    }

    /**
     * 中断连接.
     */
    private  void disconnect(HttpURLConnection conn) {
        conn.disconnect();
    }
    
    public String getIp(String ip){	
    	 String ip_addr="";
    	 HttpURLConnection conn = null;
    	 try{
	    	// connect("http://www.ip138.com/ips.asp?");
    		 URL url = new URL("http://www.ip.cn/getip.php?action=queryip&ip_url="+ip);
    		 conn = (HttpURLConnection) url.openConnection();
    		 connect(conn);
	         send("",conn);
	         ip_addr=readContents(conn);
    	 }catch(Exception e){
    		 ip_addr="webservice调用出现问题";
    		 e.printStackTrace();
    	}finally{
    		if(conn!=null)
    			disconnect(conn);
    	}
         return ip_addr;
    }
          
}

 

分享到:
评论
1 楼 lufengdie 2010-08-02  
借用下,嘿嘿··

相关推荐

    java获取MAC物理地址和ip地址

    获取计算机的mac地址和ip地址,mac地址返回的是一个list,ip地址是string

    java编程实现获取服务器IP地址及MAC地址的方法

    主要介绍了java编程实现获取机器IP地址及MAC地址的方法,实例分析了Java分别针对单网卡及多网卡的情况下获取服务器IP地址与MAC地址的相关技巧,需要的朋友可以参考下

    IP地址物理位置查询

    java 写的对qqwry.dat 文件的查询操作,需要就拿走,里面有源代码的

    IP寻物理地址-纯真数据库

    通过IP寻找物理地址。Java写的demo源代码,基于纯真数据文件。全套代码和.dat文件都已经放在工程里了,导入后可以直接使用。 收集了包括中国电信、中国网通、长城宽带、网通宽带、聚友宽带等 ISP 的最新准确 IP 地址...

    基于 Java 使用 ARP 协议获取局域网内部活动主机的物理地址【100011074】

    首先寻找并打开适合的网络适配器,然后根据输入的局域网 IP 地址构造 ARP 的数据包,然后通过 Java 对网卡数据捕获需要用到 jpcap,jpcap 调用 wincap 实现数据包的发送,并监听返回的...IP 地址和物理地址并打印。

    java获取网卡地址

    使用的是J2SE的ProcessBuilder类执行外部的程序,相对于 Runtime.exec 它更方便,可以设置环境变量等。这里使用它在windows下读取物理网卡的地址。供大家参考。

    java获取本地网络连接信息

    使用java技术获取本地网络连接信息的简单代码:包括网卡信息,IP地址,物理地址,默认网关,子网掩码以及DNS等信息

    Java语言基础下载

    逻辑大小和物理大小 248 链表 248 栈(stack) 249 队列: 250 树: 250 实例分析 252 内容总结 274 独立实践 275 第十六章:数据库(一) 276 学习目标 276 数据库的基本概念 277 数据的描述 277 数据联系的描述 278 ...

    TCP/IP协议与网络编程技术

    主要内容有IP数据报格式、IP层的功能、IP地址、ICMP协议、地址转换协议并介绍了IP的最新版本IP v6等。 第4章:介绍TCP/IP协议层次结构中传输层及其相关知识。主要内容有端口的概念、TCP协议和UDP协议的协议数据格式...

    java自定义浏览器(用于web程序访问安全)

    采用djnativeswing开发的自定义浏览器,实现web程序固定ip/mac访问客户端技术,其中包含了获取客户物理地址等功能。试用场景为对软件安全性要求比较高的web程序。如只有某些物理地址才能访问的 web程序。 配置文件 /...

    MAC地址cpu硬盘序列号一键查看器

    查看ip地址、电脑的cpu序列号、主板序列号 软件运行环境:需要java环境 jdk1.7以上 推荐1.8

    Java中的网络编程(UDP、TCP/IP协议)

    1.网络编程概述 1.1 C/S和B/S C/S 客户端——服务器软件结构 服务提供商给予用户服务需要准备的内容(如:本地软件更新) B/S 浏览器——服务器软件结构 服务提供商只要提供数据服务以及...物理层 以太网、调制解调器

    ksoap的jar文件&打包后的ipPhysicalAdress文件

    ksoap是java中实现webservice的一种方式 ipPhysicalAdress是一个已经打好包的可执行jar文件 可以方便的查询ip地址的物理地址

    java 笔试宝典 公共部分、C++部分和JAVA部分

    物理层,(2分)数据链路层,(2分)网络层(IP) (2分),应用层(2分) 3:解释文件系统为什么会存在数据冗余?这种数据冗余会导致哪两类典型的问题?(8分) 由于文件系统难于实现数据共享,因此,相同的数据可能会在多个...

    JAVA版交友盲盒3.2免授权版本源码

    13. 新增自定义抽到次数删除,物理删除 14. 新增地区投放开关 15. 新增自定义开启分销功能 16. 新增站长手动操作用户级别 17. 新增星座匹配、投放功能 18. 新增注册限制 19. 新增地区抽奖开关 20. 新增学校...

    通信大厂java工程师岗位笔试面试题

    2.2.0Internet 物理地址和 IP 地址转换采用什么协议? 2.2.1IP 地址的编码分为哪俩部分? 2.2.2用户输入 M,N 值,从 1 至 N 开始顺序循环数数,每数到 M 输出该数值,直至全部输出。写出 C 程序。 2.2.3不能做switch...

    服务器性能监测

    本资源是一个完整的java工程,主要是用于服务器监测的;swing界面上输入要监测的服务器的ip,就能获取当前ip的cpu使用率、物理内存使用大小等;

    IPAddressQuery:基于纯真库的ip信息查询服务

    基于纯真库的ip信息查询服务工作中经常会有通过IP匹配用户信息的需求,如确定用户所在的地区(国家/省份/城市)、运营商、时区、经纬度等等,如态势感知平台,XSS平台,大数据平台都可能用到IP物理地址的匹配。...

    Java网络知识概要

    —————基础网络概念—————–  大多数应用程序 内置网络功能 java简化网络程序编写  网络:实时发送数据...  java从来看不到物理层  ip 开放的、与平台无关 寻址  DNS域名系统 ip地址可能随时间而改变

    oshi-dist-4.2.1.zip

    java读取硬件信息的类库,支持读取以下信息: ·计算机系统和固件,主板信息 ·操作系统和版本/内部版本 ·物理(核心)和逻辑(超线程)CPU数 ·系统和每个处理器的负载百分比和滴答计数器 ·CPU正常运行时间...

Global site tag (gtag.js) - Google Analytics