Как получить доступ к данным, созданным веб-сервисом Nav, в HTML-макет с помощью переполнения стека

Я пытаюсь получить данные от веб-службы navision. Когда я получаю прямой доступ к URL-адресу, указанному в браузере Chrome, страница запрашивает имя пользователя и пароль, а затем Chrome отображает данные XML, как и ожидалось.

Но когда я использую PHP-скрипт, он всегда возвращает «1».

Мой код выглядит так:

$url = 'http://103.7.1.182:14048/DynamicsNAV71-6/OData/Company(\'Unit%20G%205\')/Item_Master_on_hand_no_Desc';
$login = 'Gem-gae\senzo1:Bsbsenzo2018';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $login);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type:application/x-www-form-urlencoded',
'Content-Length: ' . strlen(1))
);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

Есть ли ошибки с этим кодом?
Спасибо за вашу помощь

1

Решение

В вашем коде нет ошибок, он успешно подключается к внешнему серверу через cURL и получает данные.
Значение в $ output (если вы делаете var_dump) true (вот почему вы видите 1 если вы повторяете это).

Сказал, что проблема на сервере, с которым вы связываетесь (103.7.1.182:14048).
Вам, вероятно, нужно отправить некоторые данные или что-то, я не могу сказать вам точно, что, потому что я не знаю, что находится на этом сервере.
Чтобы отправить данные, вы можете добавить curl_setopt линия:

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

Где $ data это массив.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]