API接口调用方法(附上我的可用api)

1、API调用的第一步:购买API接口

关于API的购买这里就不过多陈述,网上一搜一大把,我这次教程使用的API是天行数据的API

2、获取ID和Key (类似账号密码)

这里就把我的KEY送给大家免费调用:
这个是查询全国疫情信息的API—可使用次数:100000

key=d557d60eeebe9fa695424a6e3930a8fd

3.使用你需要的请求示例(API文档里会有)

3.使用API文档里的请求示例()

public class DataTest {

public static String request(String httpUrl, String httpArg) {
    BufferedReader reader = null;
    String result = null;
    StringBuffer sbf = new StringBuffer();
    //httpUrl = httpUrl + "?" + httpArg;
    try {
        URL url = new URL(httpUrl);
        HttpURLConnection connection = (HttpURLConnection) url
                .openConnection();
        connection.setRequestMethod("GET");
        InputStream is = connection.getInputStream();
        reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        String strRead = null;
        while ((strRead = reader.readLine()) != null) {
            sbf.append(strRead);
            sbf.append("\r\n");
        }
        reader.close();
        result = sbf.toString();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return result;
}

public static void main(String[] args) {
	/**
	 * @param urlAll
	 *            :请求接口
	 * @param httpArg
	 *            :参数
	 * @return 返回结果
	 */
	String httpUrl = "http://api.tianapi.com/txapi/ncovcity/index?key=d557d60eeebe9fa695424a6e3930a8fd";
	String httpArg="";
	System.out.println(request(httpUrl,httpArg));
}
}

测试效果:
在这里插入图片描述

4.请求参数

在这里插入图片描述

5、添加请求参数,查询2020年3月12日的全国疫情数据

修改后的代码

public static String request(String httpUrl, String httpArg) {
    BufferedReader reader = null;
    String result = null;
    StringBuffer sbf = new StringBuffer();
    httpUrl = httpUrl + "&" + httpArg;
    try {
        URL url = new URL(httpUrl);
        HttpURLConnection connection = (HttpURLConnection) url
                .openConnection();
        connection.setRequestMethod("GET");
        InputStream is = connection.getInputStream();
        reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        String strRead = null;
        while ((strRead = reader.readLine()) != null) {
            sbf.append(strRead);
            sbf.append("\r\n");
        }
        reader.close();
        result = sbf.toString();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return result;
}

public static void main(String[] args) {
	/**
	 * @param urlAll
	 *            :请求接口
	 * @param httpArg
	 *            :参数
	 * @return 返回结果
	 */
	String httpUrl = "http://api.tianapi.com/txapi/ncovcity/index?key=d557d60eeebe9fa695424a6e3930a8fd";
	String httpArg="date=2020-03-12";
	System.out.println(request(httpUrl,httpArg));
}
}

测试结果

在这里插入图片描述

  • 17
    点赞
  • 153
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
在编程中,我们可以使用shell脚本调用api接口来实现各种功能。下面是使用shell调用api接口方法: 首先,我们需要在shell脚本中使用curl命令来发送HTTP请求。curl是一个功能强大的命令行工具,可以用来发送HTTP请求并接收响应。 使用curl发送GET请求的示例代码如下: ```shell #!/bin/bash api_url="http://api.example.com/api/endpoint" response=$(curl -s $api_url) echo $response ``` 在上面的例子中,我们通过将api的URL赋值给变量`api_url`,然后使用`curl -s`命令来发送GET请求并将结果保存在`response`变量中。最后,我们使用`echo`命令将响应输出到控制台。 如果需要发送POST请求,我们可以使用`-X POST`参数加上`-d`参数来传递请求体数据。示例代码如下: ```shell #!/bin/bash api_url="http://api.example.com/api/endpoint" data="{"key1":"value1","key2":"value2"}" response=$(curl -s -X POST -d "$data" $api_url) echo $response ``` 在上面的例子中,我们将请求体数据存储在`data`变量中,并使用`-X POST`参数告诉curl发送POST请求。`-d`参数用于传递请求体数据。 另外,我们还可以在curl命令中使用`-H`参数来设置请求头。示例代码如下: ```shell #!/bin/bash api_url="http://api.example.com/api/endpoint" data="{"key1":"value1","key2":"value2"}" headers="-H 'Content-Type: application/json' -H 'Authorization: Bearer xxx'" response=$(curl -s -X POST -d "$data" $headers $api_url) echo $response ``` 在上面的例子中,我们在变量`headers`中设置了两个请求头:`Content-Type`和`Authorization`。然后,我们在curl命令中使用`$headers`来传递这些请求头。 通过上述示例代码,我们可以使用shell脚本调用api接口,并处理api的响应结果。当然,为了代码的安全性和可维护性,我们还可以对请求进行错误处理、日志记录等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值