API--应用层之间的应用程序接口

109 篇文章 0 订阅
104 篇文章 0 订阅

API的前言

互联网的应用特点是具有开放式的业务体系结构之一。关键的技术就是网络控制与应用层之间的应用程序接口--API。通过API接口很多问题便水到渠成,迎刃而解 。

API到底是一种什么技术呢

具有开放式的业务体系结构将是下一代网络的重要特征之一。其中,关键的技术之一就是网络控制与应用层之间的应用程序接口(API)。通过联接应用程序API,业务开发商 、独立软件提供商 (ISV)等第三方应用可以获得使用现有网络资源的能力,不用再去编写领域外的程序,即可拿来提供商开发好的专业程序,通过各行各业的API接口完美的解决了行业之间的壁垒难题。

API--应用程序接口的简称

API 是一些功能、定义或者协议的集合,提供应用程序或者程序开发人员基于软件访问一组例程的能力,对外封装完善,调用时无需编写与学习 API内部源码,依据 API文档功能说明书来使用即可。

API接口的数据有多种格式

当前 API 接口支持 XLSX、CSV、RDF、JSON、XML等数据格式,其中 JSON 和 XML 是主流的数据格式,几乎所有 API 接口都支持这两种数据格式。

JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,可在不同平台之间进行数据交换。

XML 是扩展标记语言(Extensible Markup Language),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

JSON与XML相比的不同特点。

JSON与XML 相比是一种更加轻量级的数据格式,而且更加易于解析,支持多种语言,这使得 JSON 在大数据时代备受欢迎,而且随着应用程序和平台的不断发展,应用程序的功能变得越来越复杂,但为了保证用户体验的优化,需要通过重构代码,将复杂的逻辑封装在内部,保持其对外提供的 API 仍然简洁。JSON 也正因为简洁这一优势逐渐超越了XML,成为了应用间的首选数据交换格式。

API接口功能:

用户系统接口可查询个人信息、账户收支明细、即将过期接口、当前接口请求数,无需登录用户就可便捷查询。

Api文档:

子接口:

  • 接口用量查询

  • 个人信息

  • 即将到期接口

  • 账户明细

  • 当天请求数

接口地址: https://登录后显示/api/67/245(支持:http/https)

返回格式:json,xml

请求方式:GET,POST

POST 请求需要设置Header头:Content-Type: application/x-www-form-urlencoded;charset=utf-8

请求说明:

名称

必填

类型

说明

示例 参数另存

appid

String

应用ID,在后台我的应用查看或者添加

1

format

String

返回数据格式类型,每个接口已经说明支持返回格式:json,xml

json

sign

String

1.使用Md5方式验证,参数按一定规则md5后返回的字符串,详情点击这里阅读

2.使用Hash验证方式,直接跟上密钥即可。

通过我的应用里面修改验证方式

52a32be274a5c

Md5验证方式-加密顺序:

sign = MD5( appid1formatjson密钥) 查看加密规则说明 密钥不需要键名,请直接跟上32位的密钥

红色部分代表参数值,appid默认为1,请修改为自己的appid值,去我的应用查看以及密钥

*注意:空值不参与加密。

返回参数说明:

名称

必填

类型

说明

示例 参数另存

api_auth

Integer

授权方式:1 按次,2按月,0免费

api_id

Integer

接口的唯一标识

105

api_name

String

接口名称

全国城市概要简介

available

Integer

可用次数或者到期日期,按次计费的接口显示的是可用次数,按月计费的显示的是到期日期

2020-10-09

codeid

Integer

状态码,返回10000状态都会进行计费。具体说明可查看状态码说明

10000

curtime

String

当前服务器时间戳

1605170402

message

String

请求状态说明

操作成功!

retdata

Array

回数据集合,可能是数据、对象或者字符串

JSON返回示例:

codeid

:

10000

message

:

操作成功!

retdata

[4]

curtime

:

1605170402

状态码说明:

状态码

说明

10000

返回成功

10001

appid必须指定,可以我的应用里面查看

10002

sign值必须指定,加密规则请前往帮助中心查看

10003

sign值验证不通过,加密规则请前往帮助中心查看

10004

时差不能超过10分钟,可以不传递这个参数,注意时间戳单位是秒

10005

appid错误,请检查appid值,前往会员中心->我的应用查看或添加

10006

当前IP地址未授权,请前往用户中心->我的应用添加ip{@info}

10007

应用被禁用,请联系客服处理

10008

应用内没有该接口,请到我的应用里面添加这个接口

10009

api接口不存在

10010

您没有添加该api接口

10011

api已经到期

10012

没有订购任何api,请前往购买后再操作

10013

该接口已经暂停使用

10014

未知的错误,可以联系客服处理

10015

参数个数错误

10019

{@info}

10017

time必须是整型

10018

次数不足

10020

子接口不存在,可能已经被关闭

10021

服务器发生错误

10022

帐户余额不足,请充值!

10023

订单提交成功,等待回调结果

10024

调试模式数据

10025

查无数据

请求示例:

  • PHP

  • Python

$method = 'GET'; //请求方式 GET,POST
$secretType = 'MD5'; //验证方式MD5,Hash 通过后台 我的应用去修改
$api_url = 'https://登录后显示/api/67/245';
$appid  =   '应用id';// 在后台我的应用查看;
$secret =   '应用密钥';// 在后台我的应用查看;
$data = array(
    'appid'=>  '1',
    'format'=>  'json',
    );

$data['appid'] = $appid;
$data['time'] = time();//当前服务器时间

if('MD5' == $secretType){
    ksort($data); //按照键名对数组排序,为数组值保留原来的键。
    $md5String = '';
    foreach($data as $key=>$val){
        if(strlen($val)>0){ //过滤空值
            $md5String.=$key.$val;
        }
    }
    $secret = md5($md5String.$secret);
}
$data['sign'] = $secret;
if('GET'==$method){
    $sendUrl = $api_url.'?'.http_build_query($data); //把数据转换成url参数形式,a=b&c=d&e=f
    $result = file_get_contents($sendUrl);
}else{
    $header = ['Content-Type: application/x-www-form-urlencoded;charset=utf-8'];
    $ch = curl_init();
    if(is_array($data))$data = http_build_query($data);
    curl_setopt($ch, CURLOPT_URL, $api_url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_POST, true);//POST
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_ENCODING,'gzip,deflate');
    $result = curl_exec($ch);
}
$result = json_decode($result,true);
print_r($result);

                        

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值