0

如何使用 ruby​​ gem 在 https 上发帖?

这就是我通过 http 将文件发布到服务器的方式:

c = Curl::Easy.new("http://www.myserver.com/upload_messages")
c.multipart_form_post = true
post_field = Curl::PostField.content('fieldname', myfile)
c.http_post(post_field) 

使用 net::http 我会使用 use_ssl = true 但是如何使用遏制呢?

该帖子转到在heroku上运行的应用程序,我现在得到的错误是:

Curl::Err::SSLCaertBadFile (Curl::Err::SSLCaertBadFile)

谢谢。

4

2 回答 2

0

您是否尝试过c = Curl::Easy.new("https://www.myserver.com/upload_messages")(注意网址上的 https 而不是 http),因为在这个示例(https://github.com/taf2/curb/blob/master/samples/gmail.rb)中来自 Curb 的 Github(我想可以,我自己还没有尝试过)他们只是通过https发布到Gmail。

于 2012-01-24T17:07:21.550 回答
0

看来您的证书不正确,应该有信任未签名的选项。

require 'net/http'
require 'net/https'
require 'uri'

url = URI.parse 'https://myname:mypass@mail.google.com/'
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = (url.scheme == 'https')
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

还可以尝试遏制福宝石。在那里你可以发出 ssl post 请求,比如

form_data = { :color => 'red', :shape => 'sphere' }
response = CurbFu.post({:url => "https://example.com", :protocol => "https"}, form_data)
于 2012-03-13T17:52:52.080 回答