PHP 调用 API 全面指南:cURL 实战与 RapidAPI 集成教程

作者:API传播员 · 2025-09-28 · 阅读时间:5分钟

纵观 PHP 的发展历程,这种编程语言经历了几次起伏,但自从第七版发布以来,PHP 重新确立了其作为最受欢迎的 Web 开发语言之一的地位。如今,许多 Web 应用程序都需要与外部 API 交互,以获取必要的数据或扩展功能。而 PHP 提供了一组强大的函数,可以轻松实现 API 的调用。本文将详细介绍如何使用 PHP 调用 API。


一. 使用 cURL 调用 API 的基础知识

在 PHP 中,cURL 是一个常用工具,用于执行 HTTP 请求。cURL 项目包括两个主要部分:

  • cURL 命令行工具:用于从终端发送 HTTP 请求。例如:

    curl -X GET https://www.google.com/

    该命令会向 Google 服务器发送 GET 请求,并返回页面内容。

  • libcurl 库:这是一个可嵌入到程序中的传输库,PHP 通常通过此库与 API 交互。


二. 开始使用 PHP 调用 API 的准备工作

在开始之前,确保以下环境已配置:

  1. 安装 PHP。
  2. 安装并启用 php-curl 扩展。

三. API 请求方法简介

API 请求方法定义了我们与服务器交互的操作类型。常见的请求方法包括:

  • GET:用于从服务器检索信息,例如获取产品详情。
  • POST:用于向服务器提交新数据,例如添加评论。
  • PUT:用于更新现有数据,例如修改博客文章内容。
  • DELETE:用于删除已有数据。

1. 什么是 API 端点?

API 端点是一个特定的 URL 地址,用于访问 API 的功能或数据。例如:

https://best-tours.com/best-tours-prague

这是一个端点,通过它可以获取布拉格最佳旅游列表。通常,端点名称与其功能相关联。


四. 使用 RapidAPI 演示 API 请求

为了更好地理解 API 请求方法,我们将以 RapidAPI 平台上的 KVStore API 为例。RapidAPI 是一个 API 集成平台,提供数千个 API 的访问权限。

1. 如何找到 KVStore API

  1. 在 RapidAPI 的搜索框中输入 “KVStore API”。
  2. 或从 “所有类别” 中选择 “数据” 类别,找到 KVStore API。

选择 KVStore API 后,您将看到 API 端点的详细信息,包括导航、端点列表和代码片段(支持多种编程语言)。


五. 使用 PHP 实现 API 请求方法

下面通过 PHP 和 cURL 分别实现 POST、GET、PUT、DELETE 请求。

1. 发出 POST 请求

// KVStore API URL
$url = 'https://kvstore.p.rapidapi.com/collections';

// 创建集合对象
$data = [
    'collection' => 'RapidAPI'
];

// 初始化cURL会话
$curl = curl_init($url);

// 配置cURL选项
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, [
    'X-RapidAPI-Host: kvstore.p.rapidapi.com',
    'X-RapidAPI-Key: [Input your RapidAPI Key Here]',
    'Content-Type: application/json'
]);

// 执行cURL请求
$response = curl_exec($curl);

// 关闭cURL会话
curl_close($curl);

// 输出服务器响应
echo $response . PHP_EOL;

a. 代码解析

  • CURLOPT_RETURNTRANSFER:将响应结果作为字符串返回。
  • CURLOPT_POST:指定请求类型为 POST。
  • CURLOPT_POSTFIELDS:将数据编码为 JSON 格式并发送。
  • CURLOPT_HTTPHEADER:设置认证信息和内容类型。

2. 发出 GET 请求

$url = 'https://kvstore.p.rapidapi.com/collections/RapidAPI';

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
    'X-RapidAPI-Host: kvstore.p.rapidapi.com',
    'X-RapidAPI-Key: [Input your RapidAPI Key Here]'
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response . PHP_EOL;

3. 发出 PUT 请求

$url = 'https://kvstore.p.rapidapi.com/collections/RapidAPI';
$data = [
    'key' => 'exampleKey',
    'value' => 'updatedValue'
];

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, [
    'X-RapidAPI-Host: kvstore.p.rapidapi.com',
    'X-RapidAPI-Key: [Input your RapidAPI Key Here]',
    'Content-Type: application/json'
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response . PHP_EOL;

4. 发出 DELETE 请求

$url = 'https://kvstore.p.rapidapi.com/collections/RapidAPI';

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
    'X-RapidAPI-Host: kvstore.p.rapidapi.com',
    'X-RapidAPI-Key: [Input your RapidAPI Key Here]'
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response . PHP_EOL;

六. 结论

本文详细介绍了如何使用 PHP 和 cURL 调用 API,包括 GET、POST、PUT、DELETE 四种常见请求方法的实现。

通过这些方法,开发者可以:

  • 快速集成外部服务
  • 构建功能强大的 Web 应用
  • 提升 PHP 项目的灵活性和可扩展性

PHP 作为高效的 Web 开发语言,通过与 API 的结合,能够显著扩展应用场景。希望本文能为您在项目中更好地使用 API 提供实用指导。


原文链接: https://rapidapi.com/blog/how-to-use-an-api-with-php/