Ruby 主机名未知:sub.localhost:3000
我正在使用shoes的GUI builder,当我向本地Rails服务器发出一个简单的HTTP请求时,会出现以下错误 所以当我提出请求时Ruby 主机名未知:sub.localhost:3000,ruby,shoes,ruby-2.2,shoes-4,Ruby,Shoes,Ruby 2.2,Shoes 4,我正在使用shoes的GUI builder,当我向本地Rails服务器发出一个简单的HTTP请求时,会出现以下错误 所以当我提出请求时 res = Net::HTTP.get(URI.parse("http://sub.localhost:3000")) 我得到一个错误: Hostname not known: sub.localhost /Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv-replace.rb:12:in
res = Net::HTTP.get(URI.parse("http://sub.localhost:3000"))
我得到一个错误:
Hostname not known: sub.localhost
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv-replace.rb:12:in `rescue in getaddress'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv-replace.rb:9:in `getaddress'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv-replace.rb:23:in `initialize'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:879:in `open'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:879:in `block in connect'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/timeout.rb:73:in `timeout'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:878:in `connect'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:852:in `start'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:1375:in `request'
shoes.rb:24:in `request'
shoes.rb:63:in `block (3 levels) in <main>'
-e:1:in `call'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv-replace.rb:12:in `rescue in getaddress'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv-replace.rb:9:in `getaddress'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv-replace.rb:23:in `initialize'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:879:in `open'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:879:in `block in connect'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/timeout.rb:73:in `timeout'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:878:in `connect'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:852:in `start'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:1375:in `request'
shoes.rb:24:in `request'
shoes.rb:63:in `block (3 levels) in <main>'
-e:1:in `call'
主机名未知:sub.localhost
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv replace.rb:12:in'rescue in getaddress'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv replace.rb:9:in'getaddress'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv replace.rb:23:in'initialize'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:879:in'open'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:879:in'block in connect'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/timeout.rb:73:in'timeout'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:878:in'connect'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:863:in'do_start'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:852:in'start'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:1375:in'request'
鞋子。rb:24:in'request'
鞋子。rb:63:in‘block(3层)in’
-e:1:call中的
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv replace.rb:12:in'rescue in getaddress'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv replace.rb:9:in'getaddress'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/resolv replace.rb:23:in'initialize'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:879:in'open'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:879:in'block in connect'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/timeout.rb:73:in'timeout'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:878:in'connect'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:863:in'do_start'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:852:in'start'
/Applications/Shoes.app/Contents/MacOS/lib/ruby/2.2.0/net/http.rb:1375:in'request'
鞋子。rb:24:in'request'
鞋子。rb:63:in‘block(3层)in’
-e:1:call中的
我的hosts文件具有127.0.0.1 sub.localhost
,我可以访问该地址并对其提出请求,这没有问题,只是不在shoes项目中
我按照问题的建议绑定了本地ip地址ex123.12.12.1
,但得到了相同的错误主机名未知:sub.123.12.12.1
据说删除了shoes项目中的行resolv replace.rb:9:in
,但我得到了相同的错误Hostname未知:sub.123.12.12.1
我在Mac电脑上使用a确保Ruby查看主机
文件:
require 'resolv-replace'
hosts_resolver = Resolv::Hosts.new('custom_hosts')
dns_resolver = Resolv::DNS.new
Resolv::DefaultResolver.replace_resolvers([hosts_resolver, dns_resolver])
require "net/http"
require "uri"
res = Net::HTTP.get(URI.parse("http://sub.localhost:3000"))
现在
Net::HTTP
将使用您的自定义解析器,首先检查主机
,并成功解析您的自定义域。我已经看到了这一点……这非常完美。我希望你能早点到这里,但我最终还是花了ngrok
让它工作起来。哈