shell调用api store查询手机号码归属地

一、api store简介


api store是属于一个API聚合平台,可以向外提供各种的数据服务,比较有代表性的有dev store,百度api store和聚合数据等等,这类服务通过向外提供rest api接口来暴露给第三方的开发者。
api store提供了很多类型的数据服务,有生活常用,应用开发,金融理财,旅游票务等等api,但是有些接口是有收费的,同时也提供了很多免费的接口,这里就用手机号码归属地查询作为一个demo来做api的调用展示。

二、shell对rest接口的支持


在处理restful api这块,一直是java的强项,特别是近年来流行的spring boot框架,微服务的理念已成为流行的趋势。这里介绍用更轻量级的shell来调用api接口,同时温习一下shell的脚本吧。
shell处理restful api时,shell支持curl命令,curl命令对http模拟发送http请求提供很良好的支持。同时在处理json数据这块,shell提供了jq工具,对json进行了很好的解释支持。

三、代码实现思路


1. 手机号码归属地的api

本文的调用的api来自于百度api store,其官方公布的api接口如下:

curl --get --include
'http://apis.baidu.com/apistore/mobilenumber/mobilenumber?phone=15210011578' -H 'apikey:您的apikey'
2.JSON返回示例 :
{
"errNum": 0,
"retMsg": "success",
"retData": {
"phone": "15210011578",
"prefix": "1521001",
"supplier": "移动 ",
"province": 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在编程中,我们可以使用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的响应结果。当然,为了代码的安全性和可维护性,我们还可以对请求进行错误处理、日志记录等操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值