5

画像ギャラリー サイト Piwigo で API を使用する Ruby スクリプトを作成しようとしています。これには、最初に 1 つの HTTP 投稿でログインし、別の投稿で画像をアップロードする必要があります。

これは私がこれまでに得たものですが、機能せず、401エラーを返すだけです。どこが間違っているのか誰にもわかりますか?

require 'net/http'
require 'pp'

http = Net::HTTP.new('mydomain.com',80)
path = '/piwigo/ws.php'
data = 'method=pwg.session.login&username=admin&password=password'
resp, data = http.post(path, data, {})
if (resp.code == '200')
    cookie = resp.response['set-cookie']
    data = 'method=pwg.images.addSimple&image=image.jpg&category=7'
    headers = { "Cookie" => cookie }
    resp, data = http.post(path, data, headers)
    puts resp.code
    puts resp.message
end

実行すると、この応答が得られます。

$ ruby piwigo.rb
401
Unauthorized

Ruby http://piwigo.org/doc/doku.php?id=dev:webapi:pwg.images.addsimpleに変換しようとしていた API ページに Perl の例があります。

4

2 に答える 2

0

と呼ばれる宝石を使用できますmechanize。Cookie を透過的に処理します。

于 2013-05-16T22:09:41.317 に答える