什么是应用程序接口
应用程序接口,也就是常说的API(Application Programming Interface),说白了就是两个软件之间沟通的桥梁。比如你用手机查天气,App自己不生产天气数据,而是通过调用气象服务商的API来获取实时信息。
这种“问别人要数据”或“让别人帮忙做事”的过程,就是API调用。搞明白怎么调用,对开发系统软件、做自动化工具都特别实用。
调用API前需要准备什么
别急着写代码,先确认几件事。大多数API都需要身份验证,常见的是API Key。比如你在某个云服务平台注册账号后,生成一个密钥,每次请求时带上它,对方才知道你是谁。
另外得看文档。每个API的地址(URL)、支持的方法(GET、POST等)、参数格式都不一样。文档里会写清楚怎么传参、返回什么结构的数据。看不懂文档,调用基本寸步难行。
用GET方法获取数据
GET是最常见的请求类型,用来从服务器拿数据。比如你想查某城市的气温,API可能长这样:https://api.weather.com/v1/forecast?city=beijing&apikey=your_key_here
在代码里,可以用Python的requests库轻松实现:
import requests
url = "https://api.weather.com/v1/forecast"
params = {
"city": "beijing",
"apikey": "your_key_here"
}
response = requests.get(url, params=params)
data = response.json()
print(data)这段代码会发出请求,拿到JSON格式的天气信息。注意参数是通过params传的,URL会自动拼接。
用POST提交数据
如果是要往服务器送数据,比如提交表单、上传文件,就得用POST。这时候数据通常放在请求体里,而不是URL上。
比如你有个API用来创建用户:
import requests
url = "https://api.example.com/users"
payload = {
"name": "张三",
"email": "zhangsan@example.com"
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer your_token"
}
response = requests.post(url, json=payload, headers=headers)
print(response.status_code)
print(response.json())这里用了headers设置内容类型和认证信息,payload用json参数传入,requests会自动序列化成JSON字符串。
处理返回结果和错误
API不是每次都成功。网络问题、参数错误、权限不足都会导致失败。response.status_code能告诉你状态,200是成功,404是找不到,401是没权限。
建议加上异常处理:
try:
response = requests.get(url, params=params, timeout=5)
response.raise_for_status() # 如果状态码不是2xx,抛出异常
data = response.json()
except requests.exceptions.RequestException as e:
print(f"请求失败:{e}")这样程序不会因为一次失败直接崩掉。
实际场景中的小技巧
调试时可以用Postman这类工具先试接口,填好URL、参数、头信息,点一下就能看返回结果,比写代码快多了。
有些API有调用频率限制,比如每分钟最多100次。如果你批量处理数据,记得加个sleep,别把接口刷崩了,不然会被封IP。
内部系统之间的API调用,可以考虑用SDK。很多平台提供封装好的库,不用手动拼URL和处理签名,省事还少出错。