gpt4 book ai didi

从 ARIN RESTful Web 服务读取信息的 Java 应用程序

转载 作者:行者123 更新时间:2023-12-04 05:15:11 24 4
gpt4 key购买 nike

我正在尝试创建一个 java 应用程序来使用 IP 地址从 ARIN 读取信息。我看到 ARIN 正在使用 RESTful Web 服务来获取 IP 信息,但我不确定我需要做什么才能开始。有人在说RESTLET , 其他人关于 JAX-RS等。你能帮我把我带到正确的方向吗?谢谢!

最佳答案

ReSTLet 也有一个客户端 API 来与远程 RESTful 应用程序交互。有关更多详细信息,请参阅类 Client、ClientResource。为此,您需要从 ReSTLet 发行版获得以下 jar 文件:

  • org.reSTLet:主要 ReSTLet jar
  • org.reSTLet.ext.xml:对 XML 的 ReSTLet 支持
  • org.reSTLet.ext.json:JSON 的 ReSTLet 支持。在这种情况下,还需要库文件夹中的 JSON jar。

  • 如果我使用位于此地址的文档 https://www.arin.net/resources/whoisrws/whois_api.html#whoisrws .这是您可以使用的简单 ReSTLet 代码:
    ClientResource cr = new ClientResource("http://whois.arin.net/rest/poc/KOSTE-ARIN");
    Representation repr = cr.get();
    // Display the XML content
    System.out.println(repr.getText());


    ClientResource cr = new ClientResource("http://whois.arin.net/rest/poc/KOSTE-ARIN.txt");
    Representation repr = cr.get();
    // Display the text content
    System.out.println(repr.getText());

    ReSTLet 还提供了一些 XML 级别的支持。因此,您可以通过简单的方式访问 XML 中包含的提示,如下所述:
    ClientResource cr = new ClientResource("http://whois.arin.net/rest/poc/KOSTE-ARIN");
    Representation repr = cr.get();
    DomRepresentation dRepr = new DomRepresentation(repr);
    Node firstNameNode = dRepr.getNode("//firstName");
    Node lastNameNode = dRepr.getNode("//lastName");
    System.out.println(firstNameNode.getTextContent()+" "+lastNameNode.getTextContent());

    请注意,您最终可以处理内容协商 (conneg),因为您的 REST 服务似乎支持它:
    ClientResource cr = new ClientResource("http://whois.arin.net/rest/poc/KOSTE-ARIN");
    Representation repr = cr.get(MediaType.APPLICATION_JSON);

    在这种情况下,您的表示对象包含 JSON 格式的数据。和 DomRepresentation 一样,有一个 JsonRepresentation 来检查这个表示内容。

    希望对你有帮助。
    蒂埃里

    关于从 ARIN RESTful Web 服务读取信息的 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14364674/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com