2016-10-14 9 views
0

Я пытаюсь сделать некоторый HTTP-запрос стороннему API, используя rest-client или httparty. Код Im бег:Ошибка при выполнении запроса HTTP REST на третий API Pary. Возможно, относятся к IPv6

на терминале:

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 `инициализации»

I подумайте, что это имеет какое-то отношение к IP-конфигурациям, но я не уверен, где начать поиск и устранение неисправностей. Буду признателен, если кто-то может указать мне в правильном направлении, как это решить.

Потенциально Соответствующие примечания: 1) Я получаю эту ошибку, так как обновляюсь с более старой версии OSX до Sierra OSX. Я сделал это, потому что до этого мои http-запросы (с rest-client, httparty или curl) работали, но они последовательно занимали 1 минуту и ​​16 секунд для очень маленьких данных. Когда я делаю завиток, они работают довольно быстро, так что проблема решена.

+0

Это не проблема с Ruby или клиентами, так как запросы работают на меня в моей системе. это, скорее всего, с вашей конфигурацией системы или сетью. Я бы рекомендовал посмотреть на [su] и [apple.se]. Время отклика 1 + минуты - это намек на то, что сеть и/или DNS недовольны. –

+0

curl request работают сейчас, и они не медленны. Проблема медленного ответа была до обновления OS X Sierra. Теперь сложность заключается в том, что запрос отдыха с rest-client или httparty – Gabriel

+0

Как я уже сказал, оба клиента rest-client и HTTParty отлично работают в моей системе Mac OS, чтобы получить этот URL-адрес и вернуть страницу с ответом на вторую секунду. У вашего браузера такая же проблема при загрузке страницы? Почему IPv6 будет проблемой? Отключите его в сети и посмотрите, работает ли IPv4. Нам нужна дополнительная информация, потому что в настоящее время мы ничего не знаем о вашей системе, ее конфигурации или вашем сетевом подключении. –

ответ

0

Я решил это, отключив IPv4. Не уверен, что это вернется, чтобы преследовать меня в будущем, но на данный момент это устранило все проблемы со всеми клиентами http-запросов.

 Смежные вопросы

  • Нет связанных вопросов^_^