0%

通过一个 demo 学会互联网 API 接口的使用

原文地址 https://mp.weixin.qq.com/s/3zgm0y4RQgw09MunWT8U4w

前些天程序汪分享了一个互联网免费接口文章,具体链接( 100 多个免费 API 接口分享 调用完全不限次数,以后总用得着 ) 很多互联网实用接口,开发微信小程序,APP 等等互联网应用非常香

粉丝都说分享了那么多接口,还想要个 demo,程序汪就出一个简单 demo 吧

其实程序汪以前分享过一个抓 B 站弹幕和评论的 demo

B 站抓弹幕小程序例子,一下看 1 千弹幕好爽哦

B 站抓评论小程序例子,5 万条评论说抓就抓

什么是网络 API 接口

网络 API 接口就是各种大公司对外提供的一种各种信息和数据获取的接口像腾讯, 阿里巴巴等都提供这种接口, 一些小公司和个人就可以通过这些接口获取各种信息, 如城市天气信息, 生成二维码, 地图信息, 手机号码归属地等。这些小公司就可以通过付费的方式使用这些接口, 从而做出像天气预报查询,地图导航等一系列的 APP。对于我们学习使用来讲这些接口大部分都有免费使用次数,足够我们学习使用

环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
出demo不说环境的都是耍流氓





Java version 1.8.0_241


mvn -v Apache Maven 3.6.3

IDEA




<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<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-->

DEMO

其实关键代码就 10 行左右,程序汪演示获取北京天气情况,大家可以根据自己需求情况优化此 demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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();
}
    }
}

key 申请

本 DEMO 是高德天气 API 接口

进入高德官网

1
https://lbs.amap.com/dev/key/app

有具体获取 KEY 说明,大公司 API 接口文档都比较清楚详细,下面都是下一步下一步都事情而已

申请 KEY 的

一下是程序汪申请的 key,小伙伴们自己去申请吧

运行效果

这是浏览器上访问到效果

main 直接运行即可

总结

  • 在互联网上找到 API 接口,如上高德天气接口

  • 找到 http 工具类,本 DEMO 上是 Java 其他语言套路一样

  • 申请 KEY,本高德 DEMO 比较简单,有些接口安全级别高的还要申请密钥 如支付宝到支付接口

  • 获取到的数据然后解析数据,定制自己个性化业务逻辑类,本 DEMO 只上简单展示下没要特别逻辑

  • 大家可以参考学习下大公司的 API 接口设计,比如异常码的定义,密钥签名的设计,业务 json 的入参出参定义,我们都可以学习参考。

程序汪推荐武汉的 java 后端开发,找工作的朋友可以看下(下面链接进去有公司具体要求和情况)程序汪帮武汉某公司招聘 java 程序员

程序汪往期精彩文章包含答案

程序汪最近整理的 BAT 大小厂面试题 2019 (面试题目录推荐)

目录:我把精华文章都整理出来了

程序员新人刚进公司很懵逼,程序汪给 5 个建议

19 个强大、有趣、好玩、又装 B 的 Linux 命令!

Tomcat 爆出高危漏洞!

程序汪推荐你去阿里巴巴 java 后端岗位,进来看看

阎王爷让我给他做个生死簿后台管理系统

疫情当下, 帮公司远程技术电话面试 java 期望 1 万 7 千程序员

继续帮公司面试 2 万的 java 程序员,一轮电话面试很基础

这是目前最快的 Java 框架,300 个框架中排名第一,真香

1
给个[在看],是对程序汪最大的支持
-------------本文结束感谢您的阅读-------------
请我吃辣条吧~~ 谢谢打赏!