Ошибка подключения к XML-RPC с использованием PHP

#php #xml-rpc

#php #xml-rpc

Вопрос:

У меня возникли проблемы при попытке подключиться к серверу XML-RPC на PHP.

Адрес сервера сконструирован следующим образом: https://username:password@example.com/xmlrpc /

Я пробовал разные библиотеки XML-RPC, но безуспешно, насколько я могу видеть, они терпят неудачу из-за использования имени пользователя и пароля. Примеры без аутентификации по имени пользователя / паролю не обнаруживают ошибок и возвращают правильные результаты.

Как я мог получить необходимую информацию с сервера?

С наилучшими пожеланиями

РЕДАКТИРОВАТЬ: я понял, что Zend Framework имеет встроенную поддержку XMLRPC:

 <?php
set_include_path($_SERVER['DOCUMENT_ROOT'].'/lib/ZendFramework-1.11.5-minimal/library/');

require_once('Zend/Loader/Autoloader.php'); 
Zend_Loader_Autoloader::getInstance();

define('USERNAME', '*******'); 
define('PASSWORD', '*******'); 
define('LIST_ID', 42);

define('HOSTNAME', 'https://'.USERNAME.'.clients.ubivox.com/xmlrpc/');

$http = new Zend_Http_Client(HOSTNAME, array('keepalive'=>true)); 
$http->setAuth(USERNAME, PASSWORD, Zend_Http_Client::AUTH_BASIC);

$client = new Zend_XmlRpc_Client(HOSTNAME, $http);

try { 
  $response = $client->call('ubivox.get_subscriber', 
                        array('email@user.com'));

  var_dump($response);
} catch (Zend_XmlRpc_Client_FaultException $e) {
  var_dump($e);
}
?>
  

Однако, к сожалению, я получаю некоторые исключения, которые я не могу интерпретировать:

Неустранимая ошибка: неперехваченное исключение ‘Zend_XmlRpc_Client_HttpException’ с сообщением ‘НЕСАНКЦИОНИРОВАННЫЙ’ в /var/www/website/data/www/websitetest.dk/lib/ZendFramework-1.11.5-minimal/library/Zend/XmlRpc/Client.php: 288 Трассировка стека: #0 /var/www/website/data/www/websitetest.dk/lib/ZendFramework-1.11.5-minimal/library/Zend/XmlRpc/Client.php(372) : Zend_XmlRpc_Client->doRequest(объект (Zend_XmlRpc_Request)) #1 /var/www/website/data/www/websitetest.dk/test.php (20): Добавлен Zend_XmlRpc_Client->call(‘ubivox.get_subs…’, массив) #2 {main} /var/www/website/data/www/websitetest.dk/lib/ZendFramework-1.11.5-minimal/library/Zend/XmlRpc/Client.php в строке 288

Кто-нибудь знает, что я делаю не так?

Ответ №1:

«XML-RPC для PHP» позволяет подключиться, используя имя пользователя и пароль в URL:http://phpxmlrpc.sourceforge.net/doc-2/ch07s03.html#id934526