2013-05-16 2 views
3

이미지 갤러리 사이트 Piwigo에서 API를 사용하기 위해 Ruby 스크립트를 작성하려고합니다. 먼저 HTTP 게시물 하나로 로그인하고 다른 게시물로 이미지를 업로드해야합니다.세션 쿠키가있는 Ruby 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 

내가 당신은 보석 mechanize라고 사용할 수 있습니다 루비 http://piwigo.org/doc/doku.php?id=dev:webapi:pwg.images.addsimple

답변

-1

변환하려고했던 자신의 API 페이지에 펄 예제가있다. 쿠키를 투명하게 처리합니다.

+0

고마워. 내가 웹 API에 액세스하는 것보다 웹 페이지를 운전하는 데 더 많은 영향을 미쳤다고 생각하니? –

+0

맞습니다 만 적절한 API는 쿠키를 사용하지 않습니다. – Yossi