0

ここに私の問題があります:

RoRサーバーからリモートPHPサーバー、特定のURLにデータを投稿する必要がありますが、その前に認証する必要があります..どんな助けも大歓迎です..

今までやってきたこと..

#sample data
postparams ={'id'=>1, 'name'=>'Test', 'phone'=>'123123123'}
#url - is in form http://domain.com/some/somemore
#user - contains username
#pass - contains password

require "uri"
require "net/http"

uri = URI(url)
req = Net::HTTP::Post.new(uri.path)
req.set_form_data(postparams)

res = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(req)
end

case res
when Net::HTTPSuccess, Net::HTTPRedirection
 #all ok
else
  res.value
end

明らかに私は 403 を取得します..私は許可されていないので? どうすれば承認できますか?

また、mechanize gem で運を試してみました (以下 - 同じ「サンプル」データ\vars を使用)

#when not logged in it renders login form
login_form = agent.get(url).forms.first
login_form.username = user
login_form.password = pass

# submit login form
agent.submit(login_form, login_form.buttons.first)

#not sure how to submit to url..
#note that accessing url will not render the from 
#(I can't access it as I did with login form) - I simply need to post postparams
#to this url... and get the response code..
4

2 に答える 2

0

ruby rest-client gem の使用を強くお勧めします。

于 2013-04-16T13:17:44.403 に答える