Initialize':getaddrinfo:名称或服务未知(SocketError

时间:2015-02-24 06:07:52

标签: ruby sockets https scp

我从对象存储中下载了具有链接https,

的食谱

要求'open-uri' open(“/ home / admini / Desktop / apache2.tgz”,“wb”)do | write_file |   open(“https://region-a.geo-1.objects.hpcloudsvc.com:443/v1/68342917034742/cookbooks/marketplace/production/apache2.tar”,“rb”)do | read_file |      write_file.write(read_file.read)   结束 端

它获得了一些提供商的下载,但对于某些提供商而言,它没有得到下载,如下所示:

来自/opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:762:in open' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:762:in块中的连接'     来自/opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:54:in timeout' from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:99:in timeout'

我也试过使用resolv-replace gem,但是还没有解决,任何想法的家伙? 在ruby中是否有支持https的内置库方法?或者我们只能使用宝石?

此致 INDU

1 个答案:

答案 0 :(得分:-1)

试试这个库https://github.com/typhoeus/typhoeus#streaming-the-response-body它非常棒,支持重定向(https://github.com/typhoeus/typhoeus#following-redirections),可以进行并行下载等。