草庐IT

SSL_CTX_new

全部标签

ruby-on-rails - 如何使用 Logger.new 创建文件夹(如果不存在)?

我正在尝试注册一个新日志@@my_logger||=Logger.new("#{Rails.root}/log/my.log")但是当我尝试生成新文件夹时,将其放入@@my_logger||=Logger.new("#{Rails.root}/log/#{today.to_s}/my.log")它返回Errno::ENOENT:Nosuchfileordirectory可能是权限问题?如何使用Logger.new创建文件夹(如果不存在)? 最佳答案 尝试这样的事情。dir=File.dirname("#{Rails.root}/lo

ruby - 为什么在 Windows 上使用 Mechanize 访问 SSL 站点失败,但在 Mac 上却可以?

这是我用来连接到SSL站点的代码。require'mechanize'a=Mechanize.newpage=a.get'https://site.com'我正在使用Ruby1.9.3和Mechanize2.1pre1+依赖项。在Mac上,上面的代码工作并返回页面。在运行相同版本的Windows7上,它给我以下错误:OpenSSL::SSL::SSLError:SSL_connectreturned=1errno=0state=SSLv3readservercertificateB:certificateverifyfailed恢复到Mechanize2.0.1似乎解决了这个问题,但我

ruby-on-rails - Rails 上的 build 和 new 有什么区别?

谁能告诉我Rails上的build和new命令有什么区别? 最佳答案 new用于特定模型的新实例:foo=Foo.newbuild用于在AR关联中创建一个新实例:bar=foo.build_bar#(has_oneorbelongs_to)或bar=foo.bars.build#(has\_many,habtmorhas_many:through)http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html更新根据@toklands的建议

ruby - 如何使用 new 干净地初始化 Ruby 中的属性?

classFooattr_accessor:name,:age,:email,:gender,:heightdefinitalizeparams@name=params[:name]@age=params[:age]@email=params[:email]...end这似乎是一种愚蠢的做法。在Ruby中初始化对象的更好/更惯用的方法是什么?ruby1.9.3 最佳答案 您可以只遍历键并调用setter。我更喜欢这个,因为如果你传递了一个无效的key,它会捕捉到。classFooattr_accessor:name,:age,:em

ruby-on-rails - 如何配置 WEBrick 以在 Rails 中使用 SSL?

在Rails3之前,您可以修改脚本/服务器文件以添加SSL参数并告诉服务器命令使用WEBrick的HTTPS版本。现在所有这些脚本都消失了,有谁知道如何让它与Rails3或4一起工作? 最佳答案 虽然Rails4中的scripts目录消失了,但bin目录仍然存在。您可以通过编辑bin/rails脚本让WEBrick使用SSL证书。在Rails4和Ruby2.1.1上测试,使用rbenv安装。其中大部分来自thisblogpost和thisStackOverflowquestion.#!/usr/bin/envrubyrequire'

Ruby:Proc.new { 'waffles' } 与 proc { 'waffles' }

在Ruby中,Proc.new{'waffles'}和proc{'waffles'}之间有什么区别吗?我发现很少有人提到第二种语法。使用irb进行测试,我没有发现任何明显的差异。第二个是第一个的语法糖吗? 最佳答案 来自MetaprogammingRuby第113页。在Ruby1.8中,Kernel#proc()实际上是Kernel#lambda()的同义词。由于程序员的强烈抗议,Ruby1.9将proc()改为Proc.new()的同义词。 关于Ruby:Proc.new{'waffl

ruby-on-rails - Ruby 数组创建,Array.new 与 []

这两个语句有什么区别?我在我的Rails应用程序中使用它们,在我看来它们做同样的事情array_a=Array.newarray_b=[] 最佳答案 这两个语句在功能上是相同的。Array.new然而可以接受参数和一个block:Array.new#=>[]Array.new(2)#=>[nil,nil]Array.new(5,"A")#=>["A","A","A","A","A"]a=Array.new(2,Hash.new)a[0]['cat']='feline'a#=>[{"cat"=>"feline"},{"cat"=>"f

ruby-on-rails - OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read server hello A

下面的代码会产生以下错误:OpenSSL::SSL::SSLError:SSL_connectSYSCALLreturned=5errno=0state=SSLv3readserverhelloArequire'net/https'uri=URI.parse("https://.com")http=Net::HTTP.new(uri.host,uri.port)http.use_ssl=truehttp.ssl_version='SSLv3'http.get(uri.request_uri)知道为什么吗?我尝试了所有其他问题中提到的所有内容,仍然没有运气。Ruby1.9.3p484(2

ruby - 如何让 Sinatra 通过 HTTPS/SSL 工作?

正如标题所说,Google没有提供任何与此相关的有用信息。如何为Sinatra应用设置和配置HTTPS/SSL?如何创建HTTPS路由?我以前从未在我的应用程序中使用过HTTPS,也没有调整Rack或其他任何东西的经验,所以我很感谢详细的答案。 最佳答案 这似乎适合我:require'sinatra/base'require'webrick'require'webrick/https'require'openssl'CERT_PATH='/opt/myCA/server/'webrick_options={:Port=>8443,:

ruby - 如何在 ruby​​ 中通过 SSL 调用 HTTP POST 方法?

所以这是使用curl的请求:curl-XPOST-Hcontent-type:application/json-d"{\"credentials\":{\"username\":\"username\",\"key\":\"key\"}}"https://auth.api.rackspacecloud.com/v1.1/auth我一直在尝试使用ruby​​发出同样的请求,但我似乎无法让它工作。我也尝试了几个库,但我无法让它工作。这是我到目前为止所拥有的:uri=URI.parse("https://auth.api.rackspacecloud.com")http=Net::HTTP.