2010-11-09 5 views
1

Я пытаюсь использовать API Opensubtitles в своем проекте, но я просто не могу заставить его работать правильно. Я использую обертку под названием Ripcord, которая в конечном счете проста и удобна в использовании, но она не поддерживает все. С ним легко использовать метод LogIn, но когда searching for subtitles, я не могу заставить его работать.Простой, но продвинутый XML-RPC на PHP?

Вот мой код во всей своей простоте:

include('ripcord.php'); 
$client = ripcord::client('http://api.opensubtitles.org/xml-rpc'); 
$token_from_login = $client->LogIn('username','password','lang','useragent'); //works fine 
$get = $client->SearchSubtitles($token_from_login,array('query'=>$search)); //doesn't work 

Проблема должна быть тот факт, что Ripcord не поддерживает массив. Поэтому я ищу альтернативные способы легко звонить.

Я новичок в XML-RPC, поэтому желаю какой-то конструктивной помощи, поскольку это, кажется, популярный способ сделать API. Мне в основном нужен хороший пример для вызовов XML-RPC. Я не могу понять руководство PHP. Обертка/класс не требуется, если она довольно проста без одного.

Мартти Laine

ответ

3

Я автор Ripcord, он поддерживает массивы, так как использует PHP xmlrpc_encode, который автоматически преобразует его в тип 'struct'.

Однако ваш скрипт использует необъявленную переменную $ search, которая не заполнена чем-либо в этом скрипте. Предполагая, что у вас есть рабочий скрипт, который заполняет эту переменную, вы можете проверить, какой ответ вы получаете с сервера. Вы можете получить доступ к этому через свойство $ client -> _ response, после вызова метода. Чтобы увидеть точный запрос xml-rpc, сделанный клиентом, проверьте свойство $ client -> _ request.

К сожалению, я не мог проверить ваш код дальше, так как у opensubtitles.org, похоже, есть некоторые проблемы прямо сейчас.

+0

Спасибо за вашу поддержку! Правильно, серверы Opensubtitles не работают большую часть времени. На самом деле я сделал Opensubtitles работать на моем сайте, но это было достаточно медленно, чтобы вызывать проблемы с другими вещами. Итак, я не нуждаюсь в xml-rps прямо сейчас. Тем не менее, вы можете быть уверены, что в следующий раз, когда я использую xml-rpc, я использую Ripcord, так как он безумно прост и полностью функциональен. Благодарю. –

0

Попробуйте включить клиента XML-RPC в Zend Framework в - я не думаю, что было бы много хлопот. Он очень аккуратно построен, и я думаю, что он решит проблему с массивами.

Смежные вопросы