使用curl_exec在PHP中发出网络请求
1。 curl_exec简介
curl_exec是PHP中curl库提供的函数。主要用于向目标URL发送HTTP请求并返回请求响应数据。该功能具有以下特点:
1。支持GET、POST、PUT、DELETE等多种HTTP方法;
2。支持进度回调和cookie支持等高级功能;
3。支持发送任意HTTP header和自定义请求体;
4。支持HTTPS和SSL加密传输。
2。使用curl_exec发送GET
请求以下是使用curl_exec发送GET请求的示例代码:
$ch = curl_init(); // 初始化curl curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); // 设置请求的URL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置为返回内容,而不是输出内容 $response = curl_exec($ch); // 发送请求并获取响应数据 curl_close($ch); // 关闭curl echo $response; // 输出获取到的响应数据
在这个示例代码中,我们首先使用curl_init初始化curl对象,然后使用curl_setopt函数设置请求URL和其他一些参数,然后使用curl_exec函数发送请求,获取响应数据,最后使用curl_close函数关闭curl对象。
3。使用curl_exec发送POST
请求以下是使用curl_exec发送POST请求的示例代码:
$ch = curl_init(); // 初始化curl
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); // 设置请求的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置为返回内容,而不是输出内容
curl_setopt($ch, CURLOPT_POST, true); // 设置为POST请求
curl_setopt($ch, CURLOPT_POSTFIELDS, array('name'=>'Tom', 'age'=>20)); // 设置POST请求体
$response = curl_exec($ch); // 发送请求并获取响应数据
curl_close($ch); // 关闭curl
echo $response; // 输出获取到的响应数据
在这个示例代码中,我们首先使用curl_init初始化curl对象,然后使用curl_setopt函数设置请求URL,将其设置为返回内容,将其设置为POST请求,并设置POST请求体,然后使用curl_exec函数发送请求并获取响应数据,最后使用curl_close函数关闭curl对象。
4。使用curl_exec设置
过程回调这里是使用curl_exec设置进度回调的示例代码:
function progress_callback($download_size, $downloaded, $upload_size, $uploaded) {
// 注意:进度回调函数的参数顺序可以是任意的,但必须包含4个参数
echo "Downloaded $downloaded bytes\n";
echo "Progress: " . ($downloaded / $download_size * 100) . "%\n";
}
$ch = curl_init(); // 初始化curl
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); // 设置请求的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置为返回内容,而不是输出内容
curl_setopt($ch, CURLOPT_NOPROGRESS, false); // 设置为支持进度回调
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'progress_callback'); // 设置进度回调函数
$response = curl_exec($ch); // 发送请求并获取响应数据
curl_close($ch); // 关闭curl
echo $response; // 输出获取到的响应数据
在这个示例代码中,我们首先定义进度回调progress_callback函数,然后使用curl_setopt函数设置请求URL,设置返回内容,设置支持进度回调,设置进度回调函数,然后使用发送请求的curl_exec函数。获取响应数据最后使用curl_close函数关闭curl对象并输出接收到的响应数据。
5。附加函数curl_exec
除了上面列出的功能之外,curl_exec 还提供了更高级的功能,例如:
1。自定义HTTP标头支持:使用curl_setopt函数的CURLOPT_HTTPHEADER参数设置自定义HTTP标头;
2。自动cookie管理支持:使用curl_setopt函数的CURLOPT_COOKIEJAR和CURLOPT_COOKIEFILE参数自动保存和读取cookie;
3。支持HTTPS和SSL加密流量:使用curl_setopt函数的CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST参数启用SSL加密流量,保证通信安全。
6。总结
本文详细介绍了 PHP 中用于网络请求的curl_exec 的各种用法。通过示例代码,展示了如何使用curl_exec发送GET、POST请求,以及如何设置进度回调等高级功能。希望本文对从事Web编程的PHP工程师有所帮助。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网