Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 主机名未知:sub.localhost:3000_Ruby_Shoes_Ruby 2.2_Shoes 4 - Fatal编程技术网

Ruby 主机名未知:sub.localhost:3000

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

我正在使用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 `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
让它工作起来。哈