Я все еще довольно новичок в игре с PHP. Я хотел ткнуть в маленький проект. У меня есть возможность доступа к XML-каналу из нашей календарной системы на работе. Лента требует аутентификации с использованием имени пользователя и пароля. Я пытаюсь автоматизировать вытягивание этого канала. Я надеюсь в один прекрасный день использовать его для автоматизации планирования другой системы, но сейчас я просто пытаюсь заставить эту сторону работать.
Я прочитал некоторые документы по cURL на php.net. Я также искал через stackoverflow несколько примеров. Они помогли мне начать, но не намного дальше. Ниже то, что я имею до сих пор. Но все, что я вернусь, это:
НЕСАНКЦИОНИРОВАН. Требуется
разрешение
Так что я ломаю голову, чтобы понять, в чем может быть проблема. Я уверен, что отчасти моя проблема заключается в незнании фактического процесса, стоящего за тем, что происходит между клиентом и сервером. Когда я взаимодействую с ним в обычном режиме, я просто захожу на URL-адрес канала, браузер запрашивает у меня имя пользователя и пароль, а затем, после его ввода, дает мне страницу XML.
Я проверил большинство ошибок форматирования и синтаксических ошибок, которые я знал, чтобы искать. Это все еще может быть, но на данный момент, я думаю, это скорее мое непонимание того, как все это сочетается. Спасибо за любую помощь.
Похожие проблемы:
Анализ данных XML с пространствами имен в PHP
CURL HTTP-аутентификация на стороне сервера
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://somesight.someplace.edu/r25ws/servlet/wrd/run/events.xml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>