乐趣区

关于云服务:使用阿里云的ip地址查询服务使用java调用ip地址查询服务

转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/54375734
本文出自【我是干勾鱼的博客】

之前在文章《应用 [阿里云的 ip 地址查问服务 - 购买 ip 地址查问服务》](http://blog.csdn.net/dongdong… 阿里云的 ip 地址查问服务,购买之后就能够应用了。阿里云提供了很 多种调用形式,如图:

可能看到所有调用形式都列到这里了。咱们点击 java,会列出java 的调用代码,如图:

内容如下:

public static void main(String[] args) {
        String host = "http://jisuip.market.alicloudapi.com";
        String path = "/ip/location";
        String method = "GET";
        Map<String, String> headers = new HashMap<String, String>();
        // 最初在 header 中的格局 (两头是英文空格) 为 Authorization:APPCODE 83359fd73fe94948385f570e3c139105
        headers.put("Authorization", "APPCODE 你本人的 AppCode");
        Map<String, String> querys = new HashMap<String, String>();
        querys.put("ip", "122.224.186.100");


        try {
            /**
            * 重要提醒如下:
            * HttpUtils 请从
            * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
            * 下载
            *
            * 相应的依赖请参照
            * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
            */
            HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
            System.out.println(response.toString());
            // 获取 response 的 body
            //System.out.println(EntityUtils.toString(response.getEntity()));
        } catch (Exception e) {e.printStackTrace();
        }
    }

这是 java 下的调用示例。怎么说呢,我感觉阿里云在这里还是 欠点火候 呀,说的太简略了,我这里给大家具体介绍一下。

从下面的正文里,能看出这应该是依赖于一个 aliyun 保留在 github 上的一个 maven 我的项目:

api-gateway-demo-sign-java

这里咱们须要做三件事件:

  1. 下载 github 上的库
  2. 将其转换为 maven 我的项目
  3. 测试 ip 地址查问服务

下载并在 eclipse 上创立 github 仓库

在 api-gateway-demo-sign-java 仓库中,复制仓库地址,如图:

在 eclipse 中,关上 “Git Repositories” 视图,上侧有一个小的快捷键,鼠标移上去会显示:

clone a Git Repository and add the clone to this view

如图:

点击这个按钮,如图:

github 仓库地址填好,个别如果刚复制完这里会主动呈现,点击 next,如图:

间接点击next,如图:

这里抉择 github 我的项目的本地仓库的寄存地位,而后点击Finish,这样就会下载相应的仓库,如图:

将 github 仓库我的项目设定为 maven 我的项目

这个时候如果你点击 “Navigator” 视图,与 “Project Explorer” 视图下都还看不到我的项目。

“Git Repository” 视图下,右键点击我的项目,抉择“Import Projects”,如图所示:

在弹出框中抉择第三个“Import as general project”,如图:

点击next,如图:

点击 Finish。这个时候,在“Navigator” 视图下能看到这个我的项目,如图:

“Project Explorer” 视图下也能看到这个我的项目,如图:

文件 pom.xml 也在外面。

当初咱们在 “Navigator” 视图下,右键点击我的项目:

Configure -> convert to maven project

这时候,“Navigator”视图为:

“Project Explorer”视图为:

测试 ip 地址查问服务

这时候在 “Project Explorer” 视图下源代码状态都生产了。当初咱们须要在package

com.aliyun.api.gateway.demo

下创立一个类 Test,内容就是将本文最开始提到的“java 申请示例” 填进去。内容如下:

package com.aliyun.api.gateway.demo;

import java.util.HashMap;
import java.util.Map;

import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;

import com.aliyun.api.gateway.demo.util.HttpUtils;

public class Test {public static void main(String[] args) {
        String host = "http://jisuip.market.alicloudapi.com";
        String path = "/ip/location";
        String method = "GET";
        Map<String, String> headers = new HashMap<String, String>();
        // 最初在 header 中的格局 (两头是英文空格) 为 Authorization:APPCODE 83359fd73fe94948385f570e3c139105
        headers.put("Authorization", "APPCODE 你本人的 AppCode");
        Map<String, String> querys = new HashMap<String, String>();
        querys.put("ip", "122.224.186.100");


        try {
            /**
            * 重要提醒如下:
            * HttpUtils 请从
            * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
            * 下载
            *
            * 相应的依赖请参照
            * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
            */
            HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
            System.out.println(response.toString());
            // 获取 response 的 body
            System.out.println(EntityUtils.toString(response.getEntity()));
        } catch (Exception e) {e.printStackTrace();
        }
    }
}

留神这里咱们做了几个批改。

一个是将:

你本人的 AppCode

改为了咱们本人账号的 AppCode。

再有是将:

querys.put(“ip”,“122.224.186.100”);

中的 ip 改为你要查问的 ip 值。

还有是将:

//System.out.println(EntityUtils.toString(response.getEntity()));

这个 正文去掉

执行以下,能够看到 控制台 胜利的后果:

具体的数据就能够通过这个 json 穿去获取啦。

真正的时候当然还须要将这个工程打包成一个 war 包 来调用。到这里应用 java 调用 ip 地址查问服务就讲完啦!

退出移动版