我使用来自NET的HTTP:HTTP使用rails的form_post方法对第三方支付API进行NET:HTTP调用。
res = Net::HTTP.post_form(uri, payment_details)
logger.info "RESPONSE: #{res}"
descrypted_res = JSON.parse(res.body)
logger.info "RESPONSE: #{descrypted_res}"
有时候,我得到了回复说HTTPOK的回复,有时我根本得不到任何东西。我怀疑付款服务器没有及时响应我的请求,并且连接已终止。我的问题是,有没有办法增加post_form超时持续时间? 我想把它增加到60秒。
感谢。
答案 0 :(得分:0)
您可以调整ruby方法: https://docs.ruby-lang.org/en/2.0.0/Net/HTTP.html#method-c-post_form
像这样:
def _post_form(url, params)
req = Net::HTTP::Post.new(url)
req.form_data = params
req.basic_auth url.user, url.password if url.user
Net::HTTP.start(
url.hostname,
url.port,
use_ssl: url.scheme == 'https',
read_timeout: 600
) do |http|
http.request(req)
end
end