我正在尝试编写一个 Ruby 脚本来使用图片库站点 Piwigo 上的 API,这需要您首先使用一个 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
他们的 API 页面上有一个 Perl 示例,我试图将其转换为 Ruby http://piwigo.org/doc/doku.php?id=dev:webapi:pwg.images.addsimple