首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于从ARIN RESTful Web服务读取信息的java应用程序

用于从ARIN RESTful Web服务读取信息的java应用程序
EN

Stack Overflow用户
提问于 2013-01-17 01:55:24
回答 2查看 808关注 0票数 2

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-17 17:25:12

Restlet还具有一个客户端API,用于与远程RESTful应用程序交互。有关更多详细信息,请参阅类Client,ClientResource。为此,您需要具有来自Restlet发行版的以下jar文件:

org.restlet:主要支持XML

  • org.restlet.ext.json:的jar

  • org.restlet.ext.xml:
  • org.restlet。在这种情况下,还需要库文件夹中存在的JSON。

如果我使用位于此地址的文档https://www.arin.net/resources/whoisrws/whois_api.html#whoisrws。下面是一个您可以使用的简单Restlet代码:

代码语言:javascript
复制
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());

代码语言:javascript
复制
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中包含的提示,如下所述:

代码语言:javascript
复制
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服务似乎支持它:

代码语言:javascript
复制
ClientResource cr = new ClientResource("http://whois.arin.net/rest/poc/KOSTE-ARIN");
Representation repr = cr.get(MediaType.APPLICATION_JSON);

在这种情况下,表示对象包含JSON格式的数据。以与DomRepresentation相同的方式,有一个JsonRepresentation来检查这个表示内容。

希望能对你有所帮助。蒂埃里

票数 3
EN

Stack Overflow用户

发布于 2013-01-17 02:08:43

问题是你似乎没有很好地理解什么是REST (如果我错了,对不起!)。Restlet和JAX-RS都是与服务器端相关的。

您可能需要像jersey-client这样的东西。这是一个帮助与RESTful with服务交互的库。您还可以使用普通的Java库对the服务进行HTTP调用。REST与其实现协议紧密绑定在一起。这意味着如果webservice是用HTTP实现的(很可能是),那么您不需要任何花哨的东西来与它交互。就是HTTP。

我强烈建议您更多地了解REST和HTTP本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14364674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档