2012-01-24 14 views
0

curb ruby​​ gemを使用してhttpsで投稿するにはどうすればよいですか?sslの投稿を無効にする

これは私がサーバーにファイルを投稿する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) 

:: HTTP私は本当のUSE_SSL =を使用しますが、縁石にそれを行う方法?

ポストは、Herokuの上で実行中のアプリケーションに行くと、私は今、取得エラーです:

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

感謝。

+0

カーブにはuse_sslメソッドもあります。あなたは同じ方法でそれを設定することができるはずです。 –

答えて

0

は、あなたがちょうど彼らがHTTPSを使用してGmailに投稿する(それを自分自身を試していませんが、私は作品を仮定していること)縁石のGitHubのから、この例では、原因(https://github.com/taf2/curb/blob/master/samples/gmail.rb)、(URLにhttpではなくhttpsに注意してください)c = Curl::Easy.new("https://www.myserver.com/upload_messages")を試してみましたそれをやって。

+0

ええ、私は試しましたが、もう一度チェックします。実際には、プロダクション環境の場合にhttpsをとる変数があります。しかし、私はもう一度それをチェックして、報告します。ジョージに感謝します。 – Pod

0

不正な証明書があると思われ、署名されていないものを信頼するオプションが必要です。

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

url = URI.parse 'https://myname:[email protected]/' 
http = Net::HTTP.new(url.host, url.port) 
http.use_ssl = (url.scheme == 'https') 
http.verify_mode = OpenSSL::SSL::VERIFY_NONE 

また、curb-fu gemを試してください。あなたはSSLのような要求を投稿することができます

form_data = { :color => 'red', :shape => 'sphere' } 
response = CurbFu.post({:url => "https://example.com", :protocol => "https"}, form_data) 
関連する問題