2026-09-20 · 8 min read

5.1 什么是API

后端第一课:API 是什么,并亲自上手调用两个真实 API。

课时概要

后端第一课。不打比方,直接亲手调两个真 API:curl 查公网 IP(GET)、调 DeepSeek 对话(POST + API Key)。搞懂「一次 API 调用 = 请求→对方处理→响应 JSON」,明白 API 是程序对外的固定入口、格式标准让语言无关、AI 时代到处是 API,以及我们要给网站补一个自己写的后端(用 Python)。

以上为 UP 主的 B 站官方简介,非观看笔记;只有跟完这一节才算自己的理解。

视频:【零到全栈】5.1-什么是API | 时长 22:59 | 模块 5 · 初试后端

讲义:模块 5.1:究竟什么是 API?(李勃老师.com)

本节要点

  • API = 一个程序对外公开的固定入口:按它规定的方式发请求,就能用上它的能力,不必知道内部怎么实现。
  • 一次调用 = 请求 →(对方处理,看不见)→ 响应(通常是 JSON)。
  • curl 是终端里发网络请求的小工具,特别适合试 API;网址里有 ? 时用引号括起来。
  • GET 用来取数据(查 IP),POST 用来提交内容(调大模型);还有 PUT/DELETE,遇到再认。
  • API Key 是「身份钥匙」:算用量、防滥用,DeepSeek 这类按用量计费的服务必须带(Authorization: Bearer sk-...)。
  • 格式标准让 API 语言无关:调用方和提供方各用什么语言都行,DeepSeek 不关心我们用 curl 还是 Python。
  • AI 时代到处是 API:AI 产品本质是调大模型 API;AI Agent 的本事来自一个个工具,联网的工具基本都是在调 API。
  • 我们的网站接下来要补后端:一个一直运行、守在服务器上等请求的程序;前端调后端,也是调 API。这门课用 Python 写后端。

笔记正文(讲义整理)

第一个 API:查自己的公网 IP

零门槛,不用注册:

bash
curl 'https://api.ipify.org?format=json'
# → { "ip": "114.86.123.45" }

没打开任何网站就问到了自己此刻的公网 IP。这串网址粘进浏览器地址栏效果一样——你平时用浏览器打开网址,本质也是在发请求、拿响应。这就是「调用 ipify 的 API」。

第二个 API:调 DeepSeek 对话

有门槛,要一把身份钥匙(API Key,sk- 开头,按用量计费):

bash
curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer 你的KEY" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "user", "content": "你好,请用一句话介绍你自己"}
    ]
  }'

回来的答案藏在 choices → message → content 里。没打开任何网页,就在终端里让大模型回了一句话。

API 的形态

两个 API 功能不同,但调用方式一模一样:① 向一个 URL 发请求;② 按要求带信息;③ 对方在自己那边处理;④ 回一段 JSON。

一次 API 调用:请求 → 对方处理 → 响应 JSON

为什么 AI 时代到处是 API

  • AI 产品很多本质就是调大模型 API:把你的话包装发过去,把答案拿回来包成好看界面;
  • AI Agent 的本事来自一个个「工具」:查天气/查快递/发消息/喊另一个大模型——联网的工具基本都是调 API;
  • 你刚才调 DeepSeek 做的事,正是那些 AI 应用天天在做的事。

回到我们的网站

文字实验室的「算拼音、算情感分数」前端干不了,需要一个专门负责计算的后端——一个一直运行、守在服务器上等请求的程序。前端怎么把文字交给它、怎么把分数拿回来?给自己的网站也做一个 API,就像 DeepSeek 的 /chat/completions,只不过是我们自己写的。后端可用很多语言写,这门课选 Python:算法/数据/AI 生态成熟、语法对新手友好。

和 GFG / 课程笔记的连接

模块 5 开始,你在 GFG 里学的 Python 终于直接用上了:

这节概念GFG 笔记里的对应
curl 发请求下一节你会用 Python 的 requests 库做同样的事:requests.get() / requests.post()
JSON 响应GFG 里的 dict / json 模块——响应回来就是个字典
GET 取数据 / POST 提交GFG Web 章节里的 HTTP 方法
API Key 鉴权后面会用环境变量存 key,不写进代码
后端用 Python 写你整个 GFG 笔记都是 Python 主线——现在要拿它写「守在服务器上的程序」了

记住这个对照:curl 在终端里干的事,requests 在 Python 脚本里原样干一遍。下一节装完 Python,你就会亲手做这个转换。

关键概念

  • API(应用程序编程接口):程序对外公开的固定入口,按规定请求就能用它的能力。
  • curl:终端里发网络请求的工具。
  • GET / POST:GET 取数据,POST 提交内容;还有 PUT/DELETE。
  • API Key:调用方的身份钥匙,用于鉴权和计费。
  • JSON:API 响应最常用的数据格式。
  • 后端:一直运行、守在服务器上等请求、负责计算和存数据的程序。
  • 前端调后端:也是一次 API 调用。

代码 / 实操

bash
# 1) 零门槛:查自己的公网 IP(GET)
curl 'https://api.ipify.org?format=json'
 
# 2) 调 DeepSeek(POST,替换成自己的 sk- key)
curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-你的KEY" \
  -d '{
    "model": "deepseek-chat",
    "messages": [{"role": "user", "content": "你好,请用一句话介绍你自己"}]
  }'
#   答案在 choices[0].message.content

我的收获

  1. 理解 API 最快的方式不是背定义,是亲手调两次——调完就不需要解释了。
  2. 浏览器打开网址、curl、前端调后端,本质都是同一件事:发请求、拿 JSON。
  3. AI Agent 的神秘感拆穿了一大半:它就是不停地调各种现成能力(很多就是 API)。

待深入

(待填:没听懂、想回头查的。)