如何在ruby中使用net::https
当我试着运行这个程序时,我遇到了这样的错误为什么如何在ruby中使用net::https,ruby,Ruby,当我试着运行这个程序时,我遇到了这样的错误为什么 require 'net/http' require 'uri' Net::HTTP.get_print URI.parse('http://www.example.com/index.html') 代码看起来正确,并在我的计算机上按预期运行-您确定dns在您的计算机上设置正确吗?您需要代理来进行web调用吗?你能在浏览器中打开url吗?我不能,我收到了回复。你当时在线吗?尝试对问题进行三角剖分。您可以通过浏览器访问网站,但不能通过代码访问:
require 'net/http'
require 'uri'
Net::HTTP.get_print URI.parse('http://www.example.com/index.html')
代码看起来正确,并在我的计算机上按预期运行-您确定dns在您的计算机上设置正确吗?您需要代理来进行web调用吗?你能在浏览器中打开url吗?我不能,我收到了回复。你当时在线吗?尝试对问题进行三角剖分。您可以通过浏览器访问网站,但不能通过代码访问:
gemserver
,运行一个漂亮的小型web服务器http://localhost:8808
。您应该会看到一个格式良好的页面+C
杀死gem服务器。在这一点上,您已经证明了Net::HTTP是在本地工作的,并且您已经完成了,除了找出机器外部阻止您看到“example.com”的内容之外require'openuri'
添加到代码中的require列表中,并将HTTP::Net行替换为put open('http://localhost:8808)。请阅读
,然后再次尝试运行代码另一个想法浮现在脑海中:你在Windows上。您是否启用了网络安全,如防火墙?可能是因为它阻止Ruby创建连接,但允许您使用浏览器吗?不,但我可以在浏览器中打开该url的特定url,我正在尝试此代码,但它不工作被引用站点的html源代码会打印在控制台上。Nikolaus我没有访问网络的权限,但有一个特定的url我可以打开将该url放入我的代码中它不起作用告诉我soultion我现在应该做什么尝试通过iPAddress而不是主机名访问服务器,以测试代码是否在名称服务器解析时中断-如果这样做有效,请确保在您的计算机上正确配置名称服务器,或者将ip/主机名对输入主机文件orry,但我没有得到你将ip/主机名配对到主机文件中,这意味着什么?我正在使用我可以打开的特定url,我正在尝试这段代码,但它在这里无法正常工作。你是否错过了通过代理或其他程序的一步?
c:/ruby/lib/ruby/1.8/net/http.rb:560:in `initialize': getaddrinfo: no address associated with hostname. (SocketError)
from c:/ruby/lib/ruby/1.8/net/http.rb:560:in `open'
from c:/ruby/lib/ruby/1.8/net/http.rb:560:in `connect'
from c:/ruby/lib/ruby/1.8/timeout.rb:48:in `timeout'
from c:/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout'
from c:/ruby/lib/ruby/1.8/net/http.rb:560:in `connect'
from c:/ruby/lib/ruby/1.8/net/http.rb:553:in `do_start'
from c:/ruby/lib/ruby/1.8/net/http.rb:542:in `start'
from c:/ruby/lib/ruby/1.8/net/http.rb:379:in `get_response'
from c:/ruby/lib/ruby/1.8/net/http.rb:337:in `get_print'
from ruby2.rb:3