主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

PHP cURL 函数

cURL(Client URL Library)是 PHP 中一个功能强大的网络通信库,支持包括 HTTP、HTTPS、FTP 在内的多种协议,能够高效地与各类服务器进行数据传输和交互。该库提供了丰富的配置选项和灵活的接口,使开发者能够轻松实现复杂的网络请求操作。


安装 cURL 扩展

为了在 PHP 中使用 cURL 函数,你需要确保系统已正确安装和配置。

✅ Linux (Ubuntu/Debian):

# 安装 PHP cURL 扩展
sudo apt-get install php-curl

# 重启 Web 服务器(根据服务器类型选择)
sudo service apache2 restart   # Apache
sudo service php-fpm restart   # PHP-FPM (Nginx)

✅ CentOS/RHEL:

sudo yum install php-curl
sudo systemctl restart httpd

✅ MacOS (通过 Homebrew):

brew install php
brew services restart php

✅ Windows:

  • 编辑php.ini文件,取消该行注释extension=curl
  • 确保 PHP 安装目录下的ext文件夹中存在php_curl.dll文件
  • 重启 Web 服务器(如 Apache)

验证 cURL 安装

✅ 创建phpinfo.php文件:

<?php phpinfo(); ?>

在浏览器中访问该文件,搜索 cURL,确认扩展已启用。

✅ 或通过命令行检查:

php -m | grep curl

PHP cURL 实例

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

// 设置请求的 URL
curl_setopt($ch, CURLOPT_URL, "https://www.kaicz.com");

// 将 curl_exec() 获取的信息以字符串返回,而不是直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

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

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

// 输出响应内容
echo $response;

PHP cURL 选项

cURL 提供了多种选项来配置请求的行为,以下是一些常用的 cURL 选项:

选项 描述
CURLOPT_URL 设置请求的 URL。
CURLOPT_RETURNTRANSFER 将 cURL 执行的结果以字符串返回,而不是直接输出。
CURLOPT_POST 设置为 true 以发送 POST 请求。
CURLOPT_POSTFIELDS 设置 POST 请求的字段数据。
CURLOPT_HEADER 设置为 true 以包含响应头信息。
CURLOPT_FOLLOWLOCATION 设置为 true 以跟随服务器返回的重定向。
CURLOPT_TIMEOUT 设置 cURL 请求的超时时间(秒)。

PHP cURL 函数

cURL 函数提供了丰富的功能,以下是一些常用的 cURL 函数:

函数 描述
curl_close() 关闭一个 cURL 会话。
curl_copy_handle() 复制一个 cURL 句柄和它的所有选项。
curl_errno() 返回最后一次的错误号。
curl_error() 返回一个保护当前会话最近一次错误的字符串。
curl_escape() 返回转义字符串,对给定的字符串进行 URL 编码。
curl_exec() 执行一个 cURL 会话。
curl_file_create() 创建一个 CURLFile 对象。
curl_getinfo() 获取一个 cURL 连接资源句柄的信息。
curl_init() 初始化一个 cURL 会话。
curl_multi_add_handle() 向 curl 批处理会话中添加单独的 curl 句柄。
curl_multi_close() 关闭一组 cURL 句柄。
curl_multi_exec() 运行当前 cURL 句柄的子连接。
curl_multi_getcontent() 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流。
curl_multi_info_read() 获取当前解析的 cURL 的相关传输信息。
curl_multi_init() 返回一个新 cURL 批处理句柄。
curl_multi_remove_handle() 移除 curl 批处理句柄资源中的某个句柄资源。
curl_multi_select() 等待所有 cURL 批处理中的活动连接。
curl_multi_setopt() 设置一个批处理 cURL 传输选项。
curl_multi_strerror() 返回描述错误码的字符串文本。
curl_pause() 暂停及恢复连接。
curl_reset() 重置 libcurl 的会话句柄的所有选项。
curl_setopt_array() 为 cURL 传输会话批量设置选项。
curl_setopt() 设置一个 cURL 传输选项。
curl_share_close() 关闭 cURL 共享句柄。
curl_share_init() 初始化 cURL 共享句柄。
curl_share_setopt() 设置一个共享句柄的 cURL 传输选项。
curl_strerror() 返回错误代码的字符串描述。
curl_unescape() 解码URL编码后的字符串。
curl_version() 获取 cURL 版本信息。


评论区 0
发表评论