通过一个demo学会互联网API接口的使用
前些天程序汪分享了一个互联网免费接口文章,具体链接( 100多个免费API接口分享 调用完全不限次数,以后总用得着 ) 很多互联网实用接口,开发微信小程序,APP等等互联网应用非常香
粉丝都说分享了那么多接口,还想要个demo,程序汪就出一个简单demo吧
其实程序汪以前分享过一个抓B站弹幕和评论的demo
什么是网络API接口
网络API接口就是各种大公司对外提供的一种各种信息和数据获取的接口像腾讯,阿里巴巴等都提供这种接口,一些小公司和个人就可以通过这些接口获取各种信息,如城市天气信息,生成二维码,地图信息,手机号码归属地等。这些小公司就可以通过付费的方式使用这些接口,从而做出像天气预报查询,地图导航等一系列的APP。对于我们学习使用来讲这些接口大部分都有免费使用次数,足够我们学习使用
出demo不说环境的都是耍流氓
Java version 1.8.0_241
mvn -v Apache Maven 3.6.3
IDEA
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<!--=====================http工具类================= begin-->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0</version>
</dependency>
<!--=====================http工具类================= end-->
其实关键代码就10行左右,程序汪演示获取北京天气情况,大家可以根据自己需求情况优化此demo
package com.http;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
欢迎关注 我是程序汪 微信公众号
**/
public class HttpTest {
public static void main(String[] args) {
HttpClient httpClient = new HttpClient();
try {
httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
getMessage(httpClient);
}
catch (Exception e) {
e.printStackTrace();
}
}
private static void getMessage(HttpClient httpClient) throws IOException {
/**
* URL 这个地址说从高德开发平台是找到,这种API其实网上一大把
* 说明下 有两个核心参数 city 是城市码 key是高德上申请到
*/
String dataUrl="https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=这个请自己去高德上申请吧";
PostMethod postMethod=new PostMethod();
GetMethod getMethod = new GetMethod(dataUrl);
httpClient.executeMethod(getMethod);
String text = getMethod.getResponseBodyAsString();
JSONObject jsonObject=JSONObject.parseObject(text);
System.out.println("返回json内容:"+jsonObject.toJSONString());
//返回到json你可以解析DB 还可以输入其他
writeContent(jsonObject.toJSONString());
}
public static void writeContent(String data){
try{
File file =new File("weather.txt");
if(!file.exists()){
file.createNewFile();
}
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bw= new BufferedWriter(fileWritter);
bw.write(data);
bw.newLine();
bw.flush();
bw.close();
System.out.println("Done");
}catch(IOException e){
e.printStackTrace();
}
}
}
本DEMO是高德天气API接口
进入高德官网
有具体获取KEY说明,大公司API接口文档都比较清楚详细,下面都是下一步下一步都事情而已
申请KEY的
一下是程序汪申请的key,小伙伴们自己去申请吧
这是浏览器上访问到效果
main直接运行即可
在互联网上找到API接口,如上高德天气接口
找到http工具类,本DEMO上是Java 其他语言套路一样
申请KEY,本高德DEMO比较简单,有些接口安全级别高的还要申请密钥 如支付宝到支付接口
获取到的数据然后解析数据,定制自己个性化业务逻辑类,本DEMO只上简单展示下没要特别逻辑
大家可以参考学习下大公司的API接口设计,比如异常码的定义,密钥签名的设计,业务json的入参出参定义,我们都可以学习参考。
程序汪推荐武汉的java后端开发,找工作的朋友可以看下(下面链接进去有公司具体要求和情况)程序汪帮武汉某公司招聘java程序员
程序汪往期精彩文章包含答案
程序汪最近整理的BAT大小厂面试题2019 (面试题目录推荐)