Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: CURL - не передаются данные!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Не получается передать данные на web-сервер
Webdimas
Отправлено: 11 Августа, 2015 - 12:36:59
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




Я хочу отправить данные на web-сервер, на котором крутится 1С, делаю следующий запрос:

$myCurl = curl_init();
curl_setopt_array($myCurl, array(
CURLOPT_URL => 'http://mysite.ru/retail.ada/hs/RemainsFranchisee/1',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_ENCODING => "",
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POST => true,
CURLOPT_USERPWD => "Администратор:",
CURLOPT_POSTFIELDS => http_build_query("test"),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain')
));
$response = curl_exec($myCurl);
curl_close($myCurl);

Авторизация проходит, модуль в 1С запускается, но в параметрах запроса, которые я передаю через CURLOPT_POSTFIELDS пусто. Подскажите, пожалуйста, что я делаю не так?
 
 Top
Мелкий Супермодератор
Отправлено: 11 Августа, 2015 - 12:49:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Webdimas пишет:
CURLOPT_POSTFIELDS => http_build_query("test"),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain')

Понятий не имею, как там 1с работает, но вот это выглядит крайне подозрительно.
CURLOPT_POSTFIELDS сам выставляет заголовок Content-Type в application/x-www-form-urlencode d для строки или multipart/form-data для массива. А вы пытаетесь ещё раз переопределить заголовок и, наверное, это удаётся.
PHP, например, заполнит $_POST только для метода запроса POST и Content-Type application/x-www-form-urlencode d или multipart/form-data. Для нестандартных Content-Type парсить запрос придётся вручную. Возможно у этого вашего 1с та же особенность.
(Добавление)
А, и просто удивительная и логичная вещь - включите отображение ошибок.
Цитата:
PHP Warning: http_build_query(): Parameter 1 expected to be Array or Object. Incorrect value given in /home/melkij/test.php on line 3


-----
PostgreSQL DBA
 
 Top
Webdimas
Отправлено: 12 Августа, 2015 - 15:26:29
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




Добавил вывод ошибок, действительно логичная вещь, передаю массив, в Content-Type указываю multipart/form-data, но всё равно пусто. Ошибок нет. Может быть есть какой-то другой способ передать данные в POST запросе?


ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
$myCurl = curl_init();
curl_setopt_array($myCurl, array(
CURLOPT_URL => 'http://dev.aplix.local/retail.ada/hs/RemainsFranchisee/1',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_ENCODING => "",
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POST => true,
CURLOPT_USERPWD => "Администратор:",
CURLOPT_POSTFIELDS => array("store" => "b39bc8d2-2ea9-11e4-9dce-005056a215eb"),
CURLOPT_HTTPHEADER => array('Content-Type: multipart/form-data')
));

$response = curl_exec($myCurl);
curl_close($myCurl);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB