2010-11-09 44 views
1

我想在我的項目中使用Opensubtitles API,但我無法使其正確工作。我正在使用名爲Ripcord的包裝,它最終很簡單並且很好用,但它不支持所有內容。使用方法LogIn很容易,但是當searching for subtitles時,我無法使其工作。PHP上簡單但高級的XML-RPC?

這裏是我的一切簡單代碼:

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 

的問題必須是撕裂繩不支持數組的事實。所以我正在尋找替代方法來輕鬆打電話。

我是XML-RPC的新手,所以我希望得到一些建設性的幫助,因爲它似乎是製作API的一種流行方式。我基本上需要一個XML-RPC調用的好例子。我無法理解PHP的手冊。包裝器/類是沒有必要的,如果它沒有一個相當簡單。

馬爾蒂·萊恩

回答

3

我是Ripcord的作者,它支持數組,因爲它使用PHP的xmlrpc_encode,它會自動將其轉換爲'struct'類型。

但是,您的腳本使用未聲明的變量$ search,該腳本中沒有填充任何內容。假設你有一個工作腳本來填充這個變量,你可能想要檢查你從服務器得到的響應。調用方法後,您可以通過$ client - > _ response屬性訪問它。要查看客戶端所做的確切的xml-rpc請求,請檢查$ client - > _ request屬性。

不幸的是我無法進一步檢查你的代碼,因爲opensubtitles.org現在似乎有一些問題。

+0

感謝您的支持!這是正確的,Opensubtitles的服務器大部分時間都處於關閉狀態。事實上,我讓Opensubtitles在我的網站上工作,但它足夠慢,導致其他問題的問題。所以,我現在不需要xml-rps。但是,您可以確定下次我使用xml-rpc時,我正在使用Ripcord,因爲它非常簡單並且功能齊全。謝謝。 – 2010-11-16 15:40:35

0

嘗試包括Zend Framework的XML-RPC客戶端 - 我不認爲這是麻煩的。它非常整潔地構建,我認爲它可以解決陣列的問題。