我正在尝试使用rest-client或httparty向第三方API发出一些http请求。我正在运行的代码是:
在终端上:
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:在“初始化”中
我认为这与IP配置有关,但是我不确定从哪里开始进行故障排除。如果有人能为我指出正确的解决方法,我将不胜感激。
潜在相关注释:1)自从较旧版本的OSX更新到Sierra OSX后,我一直收到此错误。我这样做是因为在此之前,我的http请求(使用rest-client,httparty或curl)一直在工作,但它们始终花费1分16秒来获取很少的数据。现在,我卷曲时,它们的工作速度很快,因此解决了该问题。
我通过关闭IPv4解决了这一问题。不确定将来是否会再次困扰我,但是目前为止,这消除了所有http请求客户端的所有问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句