Intereting Posts
Эффект размытия по-разному в PHP / GD Проблема с кодировкой PHP MYSQL (турецкие символы) Передать javascript переменную в php с помощью ajax, и результат ничего не показывает Может ли PHP «писать» или «копировать» на удаленном удаленном ресурсе, но не «отключать» или «переименовывать» («Доступ запрещен») У проблемы $ _REQUEST проблемы с безопасностью? Сохранять количество кликов в базе данных, используя php несколько кнопок на форме Пагинация в передней части модуля Joomla CakePHP: Редактировать пользователей без изменения пароля php – найти, если массив содержит элемент Как я могу предотвратить добавление дополнительных строк после URL-адресов, которые заканчиваются на .php? Выделение синтаксиса PHP Как заменить белый прямоугольник в изображении с помощью ImageMagick? require / include в переменную JWT API с Laravel, не может читать заголовок обновления токена на клиенте

Параметр получает «потерянный» при использовании cURL

Я работаю над интерфейсом, где я получаю целую кучу данных событий, готовлю его к другой системе и вставляю ее в систему через веб-интерфейс.

Получение и обработка данных работает нормально, но при нажатии этой функции в другую систему используется cURL. Похоже, что последний параметр из querystring теряется.

Откуда я знаю это? Интерфейс отвечает и говорит мне, что обязательный параметр отсутствует. Кажется, он всегда был последним.

Вот как я создаю querystring (сокращенно немного)

$URI = 'http://remote-interface-host/serviceurl?'; $querystring .= 'city='.urlencode(utf8_decode($town)); $querystring .= '&street='.urlencode(utf8_decode($street)); $querystring .= '&location='.urlencode(utf8_decode($location)); $querystring .= '&start='.$start; $querystring .= '&end='.$end; $querystring .= '&text='.urlencode(utf8_decode(trim($description))); $querystring .= '&title='.urlencode(utf8_decode(trim($title))); $querystring .= '&website='.urlencode(utf8_decode($website)); $textlanguage = '&languageid=1522908220065994400'; $querystring .= $textlanguage; $fullcurl = $URI.$querystring; $data = docurlcall($fullcurl); 

docurlcall() довольно просто, слишком

 function docurlcall($url) { $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 0, CURLOPT_TIMEOUT => 10, CURLOPT_URL => $url, CURLOPT_POST => 1, CURLOPT_USERAGENT => 'my-interface' )); $result = json_decode(curl_exec($curl)); curl_close($curl); return $result; } 

Обратная связь с удаленным интерфейсом

{ "success":false, "message":"missing required parameter 'languageid'", }

Насколько я вижу, это должно быть прекрасным использованием cURL, поэтому я не понимаю, почему он отбрасывает последний параметр. Но, возможно, это всего лишь симптом того, что что-то не так.

Любые идеи, что может быть неправильным или отсутствует?

Обратите внимание: я застрял в cURL, потому что разработчики внешнего интерфейса опасаются, что данные могут стать слишком большими (я сбросил изображения и больше информации для лучшей читаемости) для запроса GET, поэтому я должен выполнить запрос POST с помощью cURL.

Related of "Параметр получает «потерянный» при использовании cURL"