PHP使用cURL库封装的可以发送POST和GET请求方法

这是一个基本的发送POST和GET请求的方法封装。你可以将它放在一个PHP文件中,然后通过调用sendRequest函数来发送请求。在函数中,我们使用cURL库来处理请求,并根据传入的方法参数决定是发送POST请求还是GET请求。如果请求失败,将抛出一个异常。

<?php

function sendRequest($url, $method = 'GET', $data = array()) {
$ch = curl_init();

if ($method == 'POST') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
} else {
$url .= '?' . http_build_query($data);
}

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if ($response === false) {
$error = curl_error($ch);
curl_close($ch);
throw new Exception("cURL request failed: " . $error);
}

curl_close($ch);

return $response;
}

// 示例用法
try {
// 发送POST请求
$postData = array(
'username' => 'john',
'password' => 'secret'
);
$response = sendRequest('http://example.com/api/login', 'POST', $postData);
echo "POST请求返回结果:\n";
var_dump($response);

// 发送GET请求
$getData = array(
'page' => 1,
'limit' => 10
);
$response = sendRequest('http://example.com/api/users', 'GET', $getData);
echo "GET请求返回结果:\n";
var_dump($response);
} catch (Exception $e) {
echo "请求发生错误: " . $e->getMessage();
}

在示例用法中,我们展示了如何使用sendRequest函数发送POST和GET请求,并打印返回的结果。你可以根据自己的需求修改$postData$getData的内容以及请求的URL。

赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏