Python中使用API(二)
紧跟上一节,步骤继续
步骤 5:发送POST请求
如果你需要向API发送数据(例如,创建新的资源),你可以使用POST请求。你可以将数据作为字典传递给json参数。
python复制代码
|
import requests |
|
|
|
api_url = 'https://api.example.com/data' |
|
data = { |
|
'name': 'John Doe', |
|
'email': 'johndoe@example.com' |
|
} |
|
|
|
response = requests.post(api_url, json=data) |
|
|
|
if response.status_code == 201: # 假设201表示创建成功 |
|
print('数据创建成功!') |
|
else: |
|
print(f'请求失败,状态码:{response.status_code}') |
步骤 6:处理错误和异常
在实际应用中,你可能还需要处理各种错误和异常。例如,网络问题、API密钥错误、请求超时等都可能导致请求失败。你可以使用try-except块来捕获和处理这些异常。
python复制代码
|
import requests |
|
from requests.exceptions import RequestException |
|
|
|
api_url = 'https://api.example.com/data' |
|
|
|
try: |
|
response = requests.get(api_url) |
|
response.raise_for_status() # 如果请求失败,这将引发HTTPError异常 |
|
data = response.json() |
|
print(data) |
|
except RequestException as e: |
|
print(f'请求发生错误:{e}') |
|
except ValueError: |
|
print('响应内容不是有效的JSON格式。') |
|
except Exception as e: |
|
print(f'发生未知错误:{e}') |
注意事项:
1.API文档:在使用任何API之前,请务必阅读其官方文档,以了解如何正确调用它,包括URL结构、请求方法、请求头、请求体、响应格式以及可能的错误代码。
2.错误处理:在上面的示例中,我们简单地检查了HTTP状态码是否为200。在实际应用中,你可能需要处理更多的错误情况,比如网络错误、超时、API返回的错误状态码等。
3.身份验证:许多API需要身份验证才能访问。这通常通过API密钥、OAuth令牌或其他机制实现。确保你了解API的身份验证要求,并在请求中包含正确的凭据。
4.请求限制:API通常会有请求频率或数量的限制。确保你的代码遵守这些限制,以避免被API提供商封禁。
5.解析响应:API返回的响应通常是JSON格式。使用response.json()方法可以方便地将JSON数据解析为Python字典或列表。
6.异常处理:使用try-except块来处理可能发生的异常,比如网络请求失败或JSON解析错误。