• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. Java如何實現簡單的whois查詢

        時間:2023-03-16 19:07:29 SUN認證 我要投稿
        • 相關推薦

        Java如何實現簡單的whois查詢

          利用Java socket 實現根據IP地址查詢該IP相關的注冊信息。

          源代碼直接下載:java_whois.zip

          相關的兩個類WhoisBean.java 和WhoisQuery.java 代碼實現如下:

          Java代碼

          import java.util.LinkedHashMap;

          import java.util.List;

          import java.util.Map;

          import java.util.Map.Entry;

          /**

          *

          * @author Michael sun

          */

          public class WhoisQuery {

          /**

          *

          * @param ip

          */

          private void queryIpInfo(String ip) {

          Map map = new LinkedHashMap();

          try {

          WhoisBean bean = new WhoisBean();

          bean.setTimeout(0);

          // bean.setServer("whois.apnic.net");

          bean.setServer("whois.ripe.net");

          bean.queryInfoByIp(ip);

          List infoList = bean.getInfoList();

          String value = "";

          String key = "";

          for (String infoTmp : infoList) {

          String[] arr = infoTmp.split(":[ ]*");

          if (arr.length > 1) {

          key = arr[0];

          value = arr[1];

          } else {

          value = arr[0].trim();

          }

          if (null == map.get(key)) {

          map.put(key, "");

          }

          value = map.get(key) + value;

          map.put(key, value);

          }

          } catch (Exception e) {

          e.printStackTrace();

          }

          for (Entry entry : map.entrySet()) {

          System.out.println(entry.getKey() + ":" + entry.getValue());

          }

          }

          /**

          * @param args

          */

          public static void main(String[] args) {

          String ip = "129.42.58.216";// "163.1.13.189";

          WhoisQuery query = new WhoisQuery();

          query.queryIpInfo(ip);

          }

          }

          Java代碼

          import java.io.BufferedReader;

          import java.io.InputStreamReader;

          import java.io.PrintStream;

          import java.net.Socket;

          import java.util.ArrayList;

          import java.util.List;

          /**

          * WhoisBean

          * @author Michael sun

          */

          public class WhoisBean {

          /**

          * server address

          */

          private String server = "";

          /**

          * port

          */

          private int port = 43;

          /**

          * timeout/minute

          */

          private int timeout = 0;

          /**

          * infoList

          */

          private List infoList = new ArrayList();

          /**

          * @param ip

          * @throws Exception

          */

          @SuppressWarnings("unchecked")

          public void queryInfoByIp(String ip) throws Exception {

          Socket theSocket = null;

          BufferedReader br = null;

          PrintStream ps = null;

          int qryCount = 0;

          while (qryCount < 5) {

          qryCount++;

          try {

          theSocket = new Socket(server, port);

          theSocket.setSoTimeout(timeout * 1000);

          ps = new PrintStream(theSocket.getOutputStream());

          ps.println(ip);

          br = new BufferedReader(new InputStreamReader(theSocket

          .getInputStream()));

          infoList.add("ip:" + ip);

          String readLine = "";

          int i = 0;

          System.out.println("Whois query read start.... ");

          while ((readLine = br.readLine()) != null) {

          System.out.println("***" + readLine);

          if (readLine.length() > 0 && readLine.charAt(0) != '%') {

          infoList.add(readLine);

          i++;

          // 默認讀取100行數據

          if (i > 100 || readLine.startsWith("source")) {

          break;

          }

          }

          }

          System.out.println("querylist size:" + infoList.size());

          break;

          } catch (Exception e) {

          System.out.println("EXCEPTION : " + e);

          } finally {

          if (null != br) {

          br.close();

          }

          if (null != ps) {

          ps.close();

          }

          if (null != theSocket) {

          theSocket.close();

          }

          }

          }

          }

          /**

          * @return the server

          */

          public String getServer() {

          return server;

          }

          /**

          * @return the port

          */

          public int getPort() {

          return port;

          }

          /**

          * @return the timeout

          */

          public int getTimeout() {

          return timeout;

          }

          /**

          * @param pServer the server to set

          */

          public void setServer(String pServer) {

          server = pServer;

          }

          /**

          * @param pPort the port to set

          */

          public void setPort(int pPort) {

          port = pPort;

          }

          /**

          * @param pTimeout the timeout to set

          */

          public void setTimeout(int pTimeout) {

          timeout = pTimeout;

          }

          /**

          * @return the infoList

          */

          public List getInfoList() {

          return infoList;

          }

          /**

          * @param pInfoList the infoList to set

          */

          public void setInfoList(List pInfoList) {

          infoList = pInfoList;

          }

          }

          運行WhoisQuery這個類就可以看到如下信息:

          Java代碼

          Whois query read start....

          ***% This is the RIPE Database query service.

          ***% The objects are in RPSL format.

          ***%

          ***% The RIPE Database is subject to Terms and Conditions.

          ***% See http://www.ripe.net/db/support/db-terms-conditions.pdf

          ***

          ***% Note: This output has been filtered.

          ***% To receive output for a database update, use the "-B" flag.

          ***

          ***% Information related to '129.0.0.0 - 129.255.255.255'

          ***

          ***inetnum: 129.0.0.0 - 129.255.255.255

          ***netname: EU-ZZ-129

          ***descr: Various Registries

          ***country: EU # Country is really world wide

          ***remarks: These addresses were issued by

          *** The IANA before the formation of

          *** Regional Internet Registries.

          ***

          ***org: ORG-NCC1-RIPE

          ***admin-c: iana1-RIPE

          ***tech-c: iana1-RIPE

          ***status: ALLOCATED UNSPECIFIED

          ***mnt-by: RIPE-NCC-HM-MNT

          ***mnt-lower: RIPE-NCC-HM-MNT

          ***mnt-routes: RIPE-NCC-RPSL-MNT

          ***source: RIPE # Filtered

          querylist size:17

          ip:129.42.58.216

          inetnum:129.0.0.0 - 129.255.255.255

          netname:EU-ZZ-129

          descr:Various Registries

          country:EU # Country is really world wide

          remarks:These addresses were issued byThe IANA before the formation ofRegional Internet Registries.

          org:ORG-NCC1-RIPE

          admin-c:iana1-RIPE

          tech-c:iana1-RIPE

          status:ALLOCATED UNSPECIFIED

          mnt-by:RIPE-NCC-HM-MNT

          mnt-lower:RIPE-NCC-HM-MNT

          mnt-routes:RIPE-NCC-RPSL-MNT

          source:RIPE # Filtered

        【Java如何實現簡單的whois查詢】相關文章:

        Java語言的特點和實現機制02-27

        java實現web服務器的方法03-30

        如何實現員工的有效激勵04-01

        企業如何實現綠色物流10-12

        考生如何查詢自考成績03-23

        自考如何查詢往年成績09-18

        OA系統如何實現商務智能05-13

        質量管理創新如何實現03-26

        如何更好地實現網站推廣03-29

        如何實現對基層員工的有效激勵08-03

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 在线播放中文有码国产 | 亚洲中文字幕精品有码在线 | 日本精品第一视频在线 | 五月婷婷亚洲综合视频 | 亚洲欧美中文字幕制服二区 | 欧洲日韩一区二区三区 |