#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