2012-03-06 12 views
0

http://localhostにインストールされているCollectiveAccessアプリ(Zendフレームワークに基づいています)のwebserviceに接続しようとしています。 documentationによると、 `1は次のように認証する必要があります CollectiveAccess APIのRESTクライアント

http://localhost/ca5/service.php/iteminfo/ItemInfo/rest?method=auth&username=admin&password=123456 

とその後

は、1は次のようにインスタンスのAPIにアクセスすることができます:私は、WebブラウザでURLを貼り付ける場合は私の作品

http://localhost/service.php/iteminfo/ItemInfo/rest?method=getLabels&type=ca_objects&item_id=4&mode=all 

しかし、HTTParty basic_authまたはdigest_authメソッドを使って動作させることはできません。

+1

ここで起こっていくつかのクッキーがあります。私は代わりに機械化を試みます。 – pguardiario

答えて

2

HTTPartyがセッションの開始時に最初に返すCookieを保持していることを確認してください。 basic_authとdigest_authはCAによって使用されません。セッション状態を維持するために使用されるセッションクッキーです。

0

HTTPClientの宝石箱の外にクッキーをサポートしており、以下のCollectiveAccess APIで正常に動作します:

require 'httpclient' 
clnt = HTTPClient.new 
clnt.set_cookie_store('/home/user/cookie.dat') 
puts clnt.get('http://localhost/service.php/iteminfo/ItemInfo/rest?method=auth&username=administrator&password=12345').body 
puts clnt.get('http://localhost/service.php/iteminfo/ItemInfo/rest?method=getLabels&type=ca_objects&item_id=4&mode=all').body