【问题标题】:How to make a POST request inside Sinatra code?如何在 Sinatra 代码中发出 POST 请求?
【发布时间】:2017-05-02 08:19:16
【问题描述】:

单击表单中的按钮将发送 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 请求?

【问题讨论】:

    标签: ruby sinatra


    【解决方案1】:

    使用来自 Ruby 标准库的 Net::HTTPHTTParty gem。

    【讨论】:

    • 如何使用 Net::HTTP 发送多个参数以及发布请求?
    • 在处理客户请求期间,请小心从其他站点请求。如果第二个站点有任何延迟,您的客户会看到它并责怪您的代码、服务器或站点。与其在请求期间执行此操作,不如在可能的情况下尝试提前执行并将结果缓存或将元数据存储在本地数据库中,以便快速将其返回给调用者。有许多HTTP clients for Ruby 可以用于此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    相关资源
    最近更新 更多