В первой части был расмотрен простой пример запроса страницы.
В этой будет рассмотрено использование библиотеки CURL для отправки GET и POST запросов.

Пример использования GET запроса
< ?php
-
$ch = curl_init();
-
//GET запрос указывается в строке URL
-
curl_setopt($ch, CURLOPT_URL, 'http://blog.yousoft.ru/?s=CURL');
-
curl_setopt($ch, CURLOPT_HEADER, false);
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
-
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot (http://blog.yousoft.ru)');
-
$data = curl_exec($ch);
-
curl_close($ch);
-
?>
Посылка GET запроса ничем не отличается от получения страницы. Важно заметить, что строка запроса формируется следующим образом: http://blog.yousoft.ru/index.php?name1=value1&name2=value2&name3=value3. Где http://blog.yousoft.ru/index.php – адрес страницы, nameX – название переменной, valueX – значение переменной.
Пример использования POST запроса
< ?php
-
$ch = curl_init();
-
curl_setopt($ch, CURLOPT_URL, 'http://blog.yousoft.ru/index.php');
-
curl_setopt($ch, CURLOPT_HEADER, false);
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
//Нужно явно указать, что будет POST запрос
-
curl_setopt($ch, CURLOPT_POST, true);
-
//Здесь передаются значения переменных
-
curl_setopt($ch, CURLOPT_POSTFIELDS, 's=CURL');
-
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
-
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot (http://blog.yousoft.ru)');
-
$data = curl_exec($ch);
-
curl_close($ch);
-
?>
Отправка POST запроса не многим отличается от отправки GET запроса. Все основные шаги остаются такие же. Переменные также задаются парами: name1=value1&name2=value2.
Похожие записи:
- Используем CURL (php) часть 3 (протокол – HTTPS, SSL соединение)
- Используем CURL (php) часть 4 (работаем с COOKIES, 2 способа)
Метки: curl
Добрый день,
видел пост
http://forum.sape.ru/showthread.php?t=1521
вы только Joomla поддерживаете? А друпал?
Можете на почту выслать расценки на услуги по разворачиванию сайта (поддержке и развитию) на джумле или друпале – сколько стоит развернуть проект (тз контент и пр. будет)? сколько стоит час работы по программированию?
классная вещь. спасибо.
Спасибо за интересную статью. А можно ли поподробнее про передачу переменных? А то я что то не понял –
curl_setopt($ch, CURLOPT_POSTFIELDS, 's=CURL');Как я понял это и есть передача данных, и именно в ней прописывать все переменные как «name1=value1&name2=value2.» или для каждой переменной писать отдельную строку?
А как получить только код ответа(заголовок)?
to CT:
curl_setopt($ch, CURLOPT_NOBODY, true);
Как раз надо писал подобный скрипт, но никак не мог залогиниться, взял ваш скрипт – та самая ситуация – не происходит залогинивание.
Сорри, уже все вышло – я протупил и путь к куках поменял только в одном месте. Все аллес гут.
curl_setopt($ch, CURLOPT_POSTFIELDS, ’s=CURL’);
Так работает
curl_setopt($ch, CURLOPT_POSTFIELDS, ‘t=TTT’);
так не работает
curl_setopt($ch, CURLOPT_POSTFIELDS, ’s=TTT’);
присылает $_POST[s] // CURL
curl_setopt($ch, CURLOPT_POSTFIELDS, ’s=CURL&t=TTT’);
$_POST[t] вообще не присылает!
Что делать?
Сори!
Все работает спасибо!