2012-04-17 44 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

相關問題