/**
* 发送Curl请求
* @param string $url 发送地址
* @param array $data post提交参数;为空时,为get提交
* @param array $header HTTP头部设置
* @return string 返回接收到的字符串
*/
function send_curl_request($url, $data = [], $header = [])
{
try {
$curlRes = curl_init();
curl_setopt($curlRes, CURLOPT_URL, $url);
curl_setopt($curlRes, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlRes, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curlRes, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curlRes, CURLOPT_TIMEOUT, 30);
curl_setopt($curlRes, CURLOPT_HEADER, false);
curl_setopt($curlRes, CURLOPT_RETURNTRANSFER, true);
if ($header) {
curl_setopt($curlRes, CURLOPT_HTTPHEADER, $header);
}
if ($data) {
// $data 是数组时,Content-Type 头将会被设置成 multipart/form-data
// $data 是 URL-encoded 字符串时,
// Content-Type 头将会被设置成 application/x-www-form-urlencoded
curl_setopt($curlRes, CURLOPT_POST, true);
curl_setopt($curlRes, CURLOPT_POSTFIELDS, $data);
}
$output = curl_exec($curlRes);
if (curl_errno($curlRes) != 0) {
/*$message = '[' . curl_errno($curlRes) . '] - ' . curl_error($curlRes);
echo $message;
exit;*/
$output = '';
}
curl_close($curlRes);
} catch (\Exception $e) {
/*$message = '[' . $e->getCode() . '] - ' . $e->getMessage() . PHP_EOL;
$message .= '[' . $e->getLine() . '] - ' . $e->getFile();
echo $message;
exit;*/
return '';
}
return $output;
}
PHP发送Curl请求函数
Curl请求函数实现
于 2023-04-21 10:04:06 首次发布
该函数用于发送Curl请求,支持POST和GET方式,可以设置HTTP头部,并处理SSL验证和超时。当$data为数组时,Content-Type设为multipart/form-data,为字符串时设为application/x-www-form-urlencoded。如果遇到curl或异常错误,将返回空字符串。
123

被折叠的 条评论
为什么被折叠?



