我对此感到相当困难——似乎有一些代码片段我似乎无法拼凑在一起。我只是想发布键/值对,但是得到Connection refused - connect(2) (Errno::ECONNREFUSED)
. Help!
require 'net/http'
require 'net/https'
require 'uri'
@http = Net::HTTP.new('https://my.url.com/path', 443)
@http.use_ssl = true
@http.start() { |http|
req = Net::HTTP.post_form(
URI.parse('https:///my.url.com/path'),
{'key1' => 'value1', 'key2' => 'value2'}
)
req.basic_auth 'username', 'password'
response = http.request(req)
puts response.body
}
HTTP#post_form 将直接执行,忽略您的其他设置。试试这个:
require 'net/http'
require 'uri'
url = URI.parse('https://my.url.com/path')
req = Net::HTTP::Post.new(url.path)
req.basic_auth 'user', 'pass'
req.use_ssl = true
req.form_data({'key1' => 'val1', 'key2' => 'val2'})
resp = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
puts resp
您可能会遇到服务器证书的问题。看看我的另一个post https://stackoverflow.com/questions/6821051/ruby-ssl-error-sslv3-alert-unexpected-message/6852083#6852083有关如何获取/配置它们的说明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)