向第三方 API 发出 REST HTTP 请求时出错。可能与 IPv6 有关
Error When Making REST HTTP Request to 3rd Pary API. Possibly relate to IPv6
我正在尝试使用 rest-client 或 httparty 向第三方 API 发出一些 http 请求。代码 Im 运行 是:
在终端上:
httparty 'http://swapi.co/api/people/1'
它抛出这个错误:
/Users/user_name/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:879:in `initialize': No route to host - connect(2) for "swapi.co" port 80 (Errno::EHOSTUNREACH)
from /Users/user_name/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:879:in `open'
from /Users/user_name/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:879:in `block in connect'
from /Users/user_name/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/timeout.rb:73:in `timeout'
from /Users/user_name/.rvm/rubies/ruby-
在我的应用中:
test_data=RestClient.get('http://swapi.co/api/people/1')
他们抛出类似的错误:
Errno::EHOSTUNREACH: No route to host - connect(2) for "swapi.co" port 80
来自 /Users/user_name/.rvm/gems/ruby-2.2.3/gems/http-0.9.9/lib/http/timeout/null.rb:18:in `initialize'
我认为这与 IP 配置有关,但我不确定从哪里开始进行故障排除。
如果有人能指出正确的方向来解决这个问题,我将不胜感激。
可能相关的注释:
1) 自从我从旧版本 OSX 更新到 Sierra OSX 后,我一直收到此错误。我这样做是因为在此之前,我的 http 请求(使用 rest-client、httparty 或 curl)可以正常工作,但它们始终需要 1 分 16 秒来获取非常少的数据。当我现在卷曲时,它们工作得非常快,所以问题就解决了。
我通过关闭 IPv4 解决了这个问题。不确定将来是否会再次困扰我,但现在已经消除了所有 HTTP 请求客户端的所有问题。
我正在尝试使用 rest-client 或 httparty 向第三方 API 发出一些 http 请求。代码 Im 运行 是:
在终端上:
httparty 'http://swapi.co/api/people/1'
它抛出这个错误:
/Users/user_name/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:879:in `initialize': No route to host - connect(2) for "swapi.co" port 80 (Errno::EHOSTUNREACH)
from /Users/user_name/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:879:in `open'
from /Users/user_name/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:879:in `block in connect'
from /Users/user_name/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/timeout.rb:73:in `timeout'
from /Users/user_name/.rvm/rubies/ruby-
在我的应用中:
test_data=RestClient.get('http://swapi.co/api/people/1')
他们抛出类似的错误:
Errno::EHOSTUNREACH: No route to host - connect(2) for "swapi.co" port 80
来自 /Users/user_name/.rvm/gems/ruby-2.2.3/gems/http-0.9.9/lib/http/timeout/null.rb:18:in `initialize'
我认为这与 IP 配置有关,但我不确定从哪里开始进行故障排除。 如果有人能指出正确的方向来解决这个问题,我将不胜感激。
可能相关的注释: 1) 自从我从旧版本 OSX 更新到 Sierra OSX 后,我一直收到此错误。我这样做是因为在此之前,我的 http 请求(使用 rest-client、httparty 或 curl)可以正常工作,但它们始终需要 1 分 16 秒来获取非常少的数据。当我现在卷曲时,它们工作得非常快,所以问题就解决了。
我通过关闭 IPv4 解决了这个问题。不确定将来是否会再次困扰我,但现在已经消除了所有 HTTP 请求客户端的所有问题。