转载请注明出处: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
这里咱们须要做三件事件:
- 下载 github 上的库
- 将其转换为 maven 我的项目
- 测试 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 地址查问服务就讲完啦!