1. PHP CURL POST请求基础与核心配置
在API对接开发中,CURL是PHP最常用的HTTP客户端工具。不同于简单的GET请求,POST请求需要处理更多细节参数和协议规范。以下是经过实战验证的核心配置方案:
1.1 基础请求模板
php复制function sendPostRequest($url, $postData, $headers = []) {
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 10
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
return $error ? false : $response;
}
关键参数说明:
CURLOPT_RETURNTRANSFER:必须设为true才能获取返回内容而非直接输出CURLOPT_TIMEOUT:建议30秒内,过长会导致进程阻塞CURLOPT_CONNECTTIMEOUT:连接超时应短于执行超时
1.2 不同Content-Type的处理
根据API要求,需要适配三种常见内容类型:
1.2.1 application/x-www-form-urlencoded
php复制$data = http_build_query(['key1'=>'value1', 'key2'=>'value2']);
$headers = ['Content-Type: application/x-www-form-urlen
