ruby - 如何在 Ruby Sinatra 中发送帖子请求和打开 url

标签 ruby sinatra

我正在发送一个帖子请求, 并且需要像 html 表单一样获得结果, 完成请求后我们去哪里

<form action="url" method="post">

我试过这个:

return response.body()

我只得到 html 页面的主体, 但我需要重定向到此页面。 转到所需 URL 的正确方法是什么?

这里是我的发帖请求代码:

    post '/send' do
            uri = URI.parse("https://wl.walletone.com/checkout/checkout/Index")
            response = Net::HTTP.post_form(uri, {
                "WMI_MERCHANT_ID" => "xxx",
                "WMI_PAYMENT_AMOUNT" => "10.00",
                "WMI_CURRENCY_ID" => "643"
            })
    end

最佳答案

如果你想直接传递一个 POST 请求并重定向到它,你可以这样做

post '/send' do
  redirect <your_url>, 307
end

307为不修改请求方法的HTTP状态码。

像这样处理重定向响应:

post '/send' do
  # post form
  redirect response['location'], 302
end

关于ruby - 如何在 Ruby Sinatra 中发送帖子请求和打开 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39870871/

相关文章:

ruby-on-rails - RSpec 不加载我的类,即使它在 Rails 控制台中加载

ruby-on-rails - Rake 固定装置未正确填充

ruby-on-rails - Twilio 检查电话号码是否已被列入黑名单

ruby - 'valid' 是 DataMapper 中的保留名称吗?

ruby - 此 ruby​​ 代码算作递归函数吗?

amazon-web-services - 带有Docker和SQS的AWS Beanstalk上的Sinatra应用

ruby - NameError:未初始化的常量 ActiveRecord::Migrator::Zlib

ruby-on-rails - 替换 ActiveRecord 5 中的 ActiveRecord::ConnectionAdapters::ConnectionManagement

ruby - 将 Cucumber 与模块化 Sinatra 应用程序一起使用

arrays - 将 x 元素移动到数组的末尾