2012-04-17 45 views
6

单击表单中的按钮将发送一个POST请求,由以下代码处理。如何在Sinatra代码中创建POST请求?

post '/register' do 
    #send post request to http://www.randomsite.com 
    #parse response 
    #do something with it 
    @user = User.first(:name => params['regUsername']) 
    if @user == nil 
    @user = User.create(
    :name   => params['regUsername'], 
    :pass   => Password.create(params['regPassword']), 
    :email  => params['regEmail'], 
    :created_date => Time.now 
    ) 
    redirect '/' 
    else 
    "User already exists." 
    end 
end 

如何从Ruby代码内发送另一个POST请求到不同的网站?

回答

9

使用来自Ruby标准库或HTTParty宝石的Net::HTTP

+0

如何使用Net :: HTTP发送多个参数以及发布请求? – Takkun 2012-04-17 03:57:49

+0

@Takkun这在链接例子的第13行显示。 – 2012-04-17 05:40:43

+0

在处理客户请求期间,请小心从其他站点请求。如果第二个网站有任何延迟,您的客户将看到它,并责怪你的代码,服务器或网站。而不是在请求过程中尝试尽可能提前完成并缓存结果或将元数据存储在本地数据库中,以便将其快速返回给调用者。有许多[HTTP的Ruby客户端](https://www.ruby-toolbox.com/categories/http_clients)可用于此目的。 – 2017-05-02 00:23:07

相关问题