API定义
API是应用程序编程接口(Application Programming Interface)的缩写,能够起到两个软件组件之间的连接器或中介的作用。此类接口往往通过一组明确的协议,来表示各种原始的请求和响应。API文档可以向开发人员展示请求和响应是如何形成的。简单而言,API能够允许两个应用程序彼此之间实现通信。无论我们在手机上查看天气,还是使用微信,或者在Facebook等应用上收发消息,都会频繁地使用到API。
API的调用流程
当我们在使用应用程序的某项功能时,通常会在后台发生如下情况:
数据请求被发送到服务器上
服务器对其进行解析,并理解其请求的含义
服务器提供必要的响应
响应被成功地发送回设备
其实,每次在我们要求应用程序提供某些特定的服务响应时,这样的过程都会重复循环一次。
API的构建实践
API的构建实践,主要体现在如下五个方面:
安全性:使用基于令牌的身份验证,是构建安全可靠的API的良好实践。它既保证了安全性,又兼顾了用户友好性。
文件:精心编撰的API文档不但能够降低项目的开发成本,而且可以提高应用的运行效率和实现时间。应用程序开发人员往往需要通过丰富的API支持文档,来详细地了解整个调用与实现过程。
节流:当涉及到需要重定向流量的溢出、防止DoS(拒绝服务)、以及备份各种API时,我们往往需要通过应用的节流,来有效地实现此类目的。
SDK和代码库:通过向开发团队提供必要的库资源,我们可以加速开发的进程。
重写HTTP方法:由于一些代理只能支持POST和GET方法,因此我们使用定制的HTTP报头X-HTTP-Method-Override,能够允许RESTful API去重写HTTP的方法。
Http获取API代码
# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-Vx.Taobaoapi2014.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1"
headers = {
"Accept-Encoding": "gzip",
"Connection": "close"
}
if __name__ == "__main__":
r = requests.get(url, headers=headers)
json_obj = r.json()
print(json_obj)
TAOBAO商品详情响应参数link