You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向API发起请求并捕获响应?请提供简洁解答

如何向API发起请求并捕获响应?

嘿,这个问题绝对是日常开发里的高频基础需求,我用最常用的Python场景给你拆解,保证简洁好懂!

1. 先准备好工具

Python里最流行的HTTP请求库就是requests,先通过pip安装:

pip install requests

2. 发起GET请求(最常见的查询类请求)

拿一个公开的测试API举例子,比如JSONPlaceholder的单条帖子接口:

import requests

# 目标API的地址
api_url = "https://jsonplaceholder.typicode.com/posts/1"

try:
    # 发起GET请求,拿到响应对象
    response = requests.get(api_url)
    
    # 自动检查请求是否成功:如果HTTP状态码不是200(比如404、500),直接抛出异常
    response.raise_for_status()
    
    # 解析响应内容:如果API返回JSON格式,用json()方法转成字典
    response_data = response.json()
    print("API返回的内容:")
    print(response_data)
    
    # 还能获取其他响应信息,比如状态码、响应头
    print(f"\n请求状态码:{response.status_code}")
    print(f"响应头信息:{response.headers}")
    
except requests.exceptions.RequestException as e:
    # 捕获所有请求相关的异常(网络断了、API挂了、权限不够等等)
    print(f"请求出问题啦:{e}")

3. 发起POST请求(给API提交数据)

比如给测试API创建一条新帖子:

import requests

api_url = "https://jsonplaceholder.typicode.com/posts"

# 要提交给API的数据(通常是JSON格式)
payload = {
    "title": "我的测试帖子",
    "body": "这是帖子的内容",
    "userId": 1
}

try:
    # 发起POST请求,把数据通过json参数传进去
    response = requests.post(api_url, json=payload)
    response.raise_for_status()
    
    # 解析API返回的创建结果
    created_post = response.json()
    print("新创建的帖子信息:")
    print(created_post)
    
except requests.exceptions.RequestException as e:
    print(f"提交数据失败:{e}")

4. 几个关键注意点

  • 一定要加异常捕获:网络波动、API报错、权限问题都可能导致请求失败,用try-except能让程序更健壮
  • 根据响应格式选解析方式:如果返回纯文本用response.text,二进制数据(比如图片)用response.content,JSON用response.json()
  • 需要请求头的情况:很多API要求带密钥或身份信息,直接加headers参数就行,比如:
    headers = {"Authorization": "Bearer 你的API密钥"}
    response = requests.get(api_url, headers=headers)
    

内容的提问来源于stack exchange,提问作者Blue Bird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 09:12:41