Php curl post пример запроса

Php curl post пример запроса

Пример curl для выполнения post запроса с указанием headers, content-type и параметров. Параметр curl_setopt позволяет указать необходимые параметры запроса. Параметры передаются в виде get-параметров. Чтобы, например, отправить json данные, указываем Content-Type: application/json.

<?
$url = "http://site.ru";
$page = "/api/v2/oauth2/token.json"; 

$header  = "POST ".$page." HTTP/1.1 \r\n";
$header .= "Content-Type: application/x-www-form-urlencoded \r\n";
$header .= "Host: site.ru \r\n";
// $header .= "Content-length: ".strlen($post_string)." \r\n";
// $header .= "Content-transfer-encoding: text \r\n";
// $header .= "Content-Length: 35\r\n"; 
// $header .= "grant_type=refresh_token&client_id=UEB43MamKujmH&client_secret=YOncQJZdRqYts5hoBzcGSHuFYdMdergDDnxCXok65PIiz3uTtlfpXFYLun8Gf9nA6j25S7Ah8cxoeSTFuzaCpY43LyrE6aQY4C3qaUYvWtpCbo5GjEKis5jXhco04YD8Rdqcb3i95kUH6YUYPjSs9WT2BEwBSoFkMdH7eR83DQYHyLdeH0LqllDvjP8akJlevFqAeal";

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,TRUE);
curl_setopt($ch,CURLOPT_MAXREDIRS,10);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials&client_id=UEBQHZPhMamKurecQJZdRqYts5hoBzcGSHuFYdMdernxCXok65PIiz3uTtlfpXFYLun8Gf9nA6j25S7Ah8cxoeSTFuzaCpY43LyiNbFuN1ZuQQqJE6aQY4C3qaUYvWtpCbo5GjEKis5jXhco04YD8Rdqcb3i95kUH6YUYPjSs9WT2BEwBSoFkMdH7eR83DQYHyLdeH0LqllDvjP8akJlevFqAeal"); 

$data = curl_exec($ch); 
echo $data;