Гризли
Новичок
Проблема с обработкой POST запроса (сокеты и cURL)
Приветствую!
Вот уже пару часов бьюсь с проблемой.
Необходимо из скрипта на моем хостинге отправить POST запрос к другому серверу.
Неважно каким образом, на обоих по phpinfo видно что сокеты и cURL включены
Дебаггер HTTP в Access Diver без проблем отправляет POST и сервер ему правильно отвечает (200 и правильный контент)
А вот из скрипта - никак. Пробовал fsockopen - просто виснет. Ладно, думаю, может проблема в заголовках HTTP.
Скопировал заголовки один в один какие отправляет дебаггер - тоже самое. Окончания строк правильные - \r\n , строка с POST данными заканчивается \r\n\r\n, как и последняя строка HTTP заголовка. Потом попробовал использовать cURL. Ответ пришел, но не тот. Как будто я вообще POST переменные не отправляю, скрипт удаленного сервера воспринимает мой запрос как пустой.
Где копать, ума уже не приложу. POST переменные выводятся правильно, точно те же что и дебаггер. Основной код моего скрипта не при чем, даже с литералами отдельный скрипт не хочет правильно обрабатываться. Очень прошу помочь.
Вот фрагмент, который отвечает за отправку POST данных cURL
Приветствую!
Вот уже пару часов бьюсь с проблемой.
Необходимо из скрипта на моем хостинге отправить POST запрос к другому серверу.
Неважно каким образом, на обоих по phpinfo видно что сокеты и cURL включены
Дебаггер HTTP в Access Diver без проблем отправляет POST и сервер ему правильно отвечает (200 и правильный контент)
А вот из скрипта - никак. Пробовал fsockopen - просто виснет. Ладно, думаю, может проблема в заголовках HTTP.
Скопировал заголовки один в один какие отправляет дебаггер - тоже самое. Окончания строк правильные - \r\n , строка с POST данными заканчивается \r\n\r\n, как и последняя строка HTTP заголовка. Потом попробовал использовать cURL. Ответ пришел, но не тот. Как будто я вообще POST переменные не отправляю, скрипт удаленного сервера воспринимает мой запрос как пустой.
Где копать, ума уже не приложу. POST переменные выводятся правильно, точно те же что и дебаггер. Основной код моего скрипта не при чем, даже с литералами отдельный скрипт не хочет правильно обрабатываться. Очень прошу помочь.
Вот фрагмент, который отвечает за отправку POST данных cURL
PHP:
####################CURL POST сессия
/*
URL запроса(на скрипт, который выдает список товара)
*/
$curl = curl_init($site_url . 'price.asp');
//echo $curl;
/*
Отправляем данные методом POST
*/
curl_setopt($curl, CURLOPT_POST, 1);
/*
Задаем POST данные (индексы товарной группы, раздела и категории)
*/
$curl_post_data = 'select1=' . urlencode($index_market_group) .
'&select2=' . urlencode($index_category) .
'&select3=' . urlencode($index_subcategory) . '\r\n\r\n';
$curl_post_data;
/*
Подготавливаем CURL-POST запрос
*/
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
/*
Выполняем запрос
*/
echo curl_exec($curl);
/*
Закрытие CURL соединения
*/
curl_close($curl);