PHP curl примеры POST и GET запросов
С помощью curl возможно делать сложные запросы, но синтаксис так же, относительно сложен. Поэтому часто используют готовые функции и заготовки.
CURL_IPRESOLVE_V4 - отвечает за то, чтобы отправка данных происходила через IPv4 протолок. Для IPv6 строку нужно изменить на CURL_IPRESOLVE_V6
Если не прописать CURLOPT_RETURNTRANSFER, true, то к ответу может добавляться 1, при успешном запросе, обычно нужны чистые данные, без доп информации.
Пример get запроса с помощью curl
function getResponse ($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_GET, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (!isset($response))
return null;
return $response;
}
echo getResponse ($url);
На вход передается url адрес, переменные подставляются в строку. Ответ сервера возвращается функцией
Пример post запроса с помощью curl
function postResponse ($url, $data)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (!isset($response))
return null;
return $response;
}
echo postResponse ($url, $data);
Кроме url адреса, при post запросе возможно потребуется перадать данные, это может быть как строка параметров, так и xml и json.