php用curl实现get请求的函数
<?php
function sendGetRequest($url, $params = []) {
// 初始化cURL会话
$ch = curl_init();
// 如果提供了参数,则构建带参数的URL
if (!empty($params)) {
$url .= '?' . http_build_query($params);
}
// 设置cURL选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 将响应保存到变量而不是直接输出
curl_setopt($ch, CURLOPT_HEADER, false); // 不返回响应头信息
// 执行请求并获取响应
$response = curl_exec($ch);
// 检查请求是否成功
if ($response === false) {
$error = curl_error($ch);
curl_close($ch); // 关闭cURL会话
throw new Exception("cURL Error: " . $error);
}
// 关闭cURL会话
curl_close($ch);
// 返回响应数据
return $response;
}
// 使用示例
try {
$url = "/api/endpoint";
$params = [
'param1' => 'value1',
'param2' => 'value2'
];
$response = sendGetRequest($url, $params);
echo $response; // 输出响应内容
} catch (Exception $e) {
echo "Request failed: " . $e->getMessage(); // 输出错误信息
}
?>