Faraday: Фарадей::Ошибка::ConnectionFailed

Созданный на 27 февр. 2019  ·  4Комментарии  ·  Источник: lostisland/faraday

Я сообщаю об этом, потому что последняя ошибка относится к Фарадею. Я уже сообщил об этой проблеме в Kickscraper, но они не верят, что проблема связана со сценариями Kickscraper — https://github.com/markolson/kickscraper/issues/47.

Приносим извинения, если эта проблема не относится к Фарадею, но я был бы признателен за любую помощь или идеи, которые может предоставить это сообщество.

Основная информация

  • Версия Фарадея: 0.8.11
  • Версия промежуточного программного обеспечения Faraday: 0.13.1
  • Рубиновая версия: 2.6.1

Описание проблемы

C:\Program Files\Ruby\Ruby26\lib\ruby\gems\2.6.0\gems\kickscraper-0.2.4>rake console
fatal: not a git repository (or any of the parent directories): .git
irb(main):001:0> c = Kickscraper.client
Traceback (most recent call last):
       16: from C:/Program Files/Ruby/Ruby26/lib/ruby/gems/2.6.0/gems/faraday-0.8.11/lib/faraday/request/url_encoded.rb:14:in `call'
       15: from C:/Program Files/Ruby/Ruby26/lib/ruby/gems/2.6.0/gems/faraday-0.8.11/lib/faraday/response.rb:8:in `call'
       14: from C:/Program Files/Ruby/Ruby26/lib/ruby/gems/2.6.0/gems/faraday_middleware-0.13.1/lib/faraday_middleware/response/follow_redirects.rb:75:in `call'
       13: from C:/Program Files/Ruby/Ruby26/lib/ruby/gems/2.6.0/gems/faraday_middleware-0.13.1/lib/faraday_middleware/response/follow_redirects.rb:87:in `perform_with_redirection'
       12: from C:/Program Files/Ruby/Ruby26/lib/ruby/gems/2.6.0/gems/faraday_middleware-0.13.1/lib/faraday_middleware/response_middleware.rb:31:in `call'
       11: from C:/Program Files/Ruby/Ruby26/lib/ruby/gems/2.6.0/gems/kickscraper-0.2.4/lib/kickscraper/connection.rb:25:in `call'
       10: from C:/Program Files/Ruby/Ruby26/lib/ruby/gems/2.6.0/gems/faraday-0.8.11/lib/faraday/adapter/net_http.rb:39:in `call'
        9: from C:/Program Files/Ruby/Ruby26/lib/ruby/gems/2.6.0/gems/faraday-0.8.11/lib/faraday/adapter/net_http.rb:76:in `perform_request'
        8: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/net/http.rb:1470:in `request'
        7: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/net/http.rb:919:in `start'
        6: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/net/http.rb:930:in `do_start'
        5: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/net/http.rb:945:in `connect'
        4: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/timeout.rb:103:in `timeout'
        3: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/timeout.rb:93:in `block in timeout'
        2: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/net/http.rb:946:in `block in connect'
        1: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/net/http.rb:949:in `rescue in block in connect'
Faraday::Error::ConnectionFailed (Failed to open TCP connection to localhost:8888 (No connection could be made because the target machine actively refused it. - connect(2) for "localhost" port 8888))

Действия по воспроизведению

Установка Руби:

rubyinstaller-2.6.1-1-x86.exe installed to 'C:\Program Files\Ruby\Ruby26'

Установка камней:
Распаковал rubygems-3.0.2.zip в C:\Program Files\Ruby\gems\.
Установлено с помощью cd C:\Program Files\Ruby\rubygems\3.0.2 && ..\..\Ruby26\bin\ruby.exe setup.rb

Установка кикскреба:

'C:\Program Files\Ruby\Ruby26\bin\gem' install kickscraper
Fetching faraday_middleware-0.13.1.gem
Fetching faraday-0.8.11.gem
Fetching multipart-post-1.2.0.gem
Fetching kickscraper-0.2.4.gem
Fetching multi_json-1.13.1.gem
Fetching uri-query_params-0.7.1.gem
Fetching hashie-2.1.2.gem
Successfully installed multipart-post-1.2.0
Successfully installed faraday-0.8.11
Successfully installed faraday_middleware-0.13.1
Successfully installed multi_json-1.13.1
Successfully installed hashie-2.1.2
Successfully installed uri-query_params-0.7.1
Successfully installed kickscraper-0.2.4
Parsing documentation for multipart-post-1.2.0
Installing ri documentation for multipart-post-1.2.0
Parsing documentation for faraday-0.8.11
Installing ri documentation for faraday-0.8.11
Parsing documentation for faraday_middleware-0.13.1
Installing ri documentation for faraday_middleware-0.13.1
Parsing documentation for multi_json-1.13.1
Installing ri documentation for multi_json-1.13.1
Parsing documentation for hashie-2.1.2
Installing ri documentation for hashie-2.1.2
Parsing documentation for uri-query_params-0.7.1
Installing ri documentation for uri-query_params-0.7.1
Parsing documentation for kickscraper-0.2.4
Installing ri documentation for kickscraper-0.2.4
Done installing documentation for multipart-post, faraday, faraday_middleware, m
ulti_json, hashie, uri-query_params, kickscraper after 74 seconds
7 gems installed

Запускаем Кикскрейпер:

C:\Program Files\Ruby\Ruby26\lib\ruby\gems\2.6.0\gems\kickscraper-0.2.4>rake console
irb(main):001:0> c = Kickscraper.client

Самый полезный комментарий

Благодарим вас за решение проблемы, которая полностью выходила за рамки вашей кодовой базы. Вы молодцы, и быстро!

27 февраля 2019 г., в 7:18, Олле Йонссон, [email protected] , написал:

Закрыто № 886.


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите ветку.

Все 4 Комментарий

Привет @mattmill30 , ошибка, которую вы возвращаете, совершенно ясна:

Faraday::Error::ConnectionFailed (Failed to open TCP connection to localhost:8888 (No connection could be made because the target machine actively refused it. - connect(2) for "localhost" port 8888))

По-видимому, Kickscraper.client ожидает, что сервер будет прослушивать вашу машину через порт 8888 , но похоже, что это не так.
Если это единственная проблема, я боюсь, что это не ошибка Фарадея, поскольку проблема, похоже, заключается в том, что сервер не прослушивает localhost:8888 .

Как видно из трассировки стека, последний вызов

1: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/net/http.rb:949:in `rescue in block in connect'

таким образом, с точки зрения Фарадея, запрос корректно передается адаптеру (в данном случае Net::HTTP ), но затем что-то не так при его выполнении.
Причина, по которой вы видите ошибку Фарадея, заключается в том, что мы спасаем и упаковываем исключения адаптеров, поэтому, если вы решите изменить адаптер в будущем, вам не нужно будет менять свой код. Это не значит, что с Фарадеем были проблемы.

Я согласен с @benrugg , что это похоже на проблему с прокси.
Я предлагаю вам позвонить Kickscraper.proxy и посмотреть, что это вернет.
Мне жаль отправлять вас обратно в Kickscraper , но я вполне доволен, что это не проблема с Фарадеем по причинам, изложенным выше.

Спасибо @iMacTia , я запустил «c = Kickscraper.proxy», и он возвращает « https://localhost :8888».

Как отключить прокси?

@mattmill30 Я собираюсь закрыть этот выпуск (не являющийся частью проекта Фарадея).

Вот несколько замечаний по поводу настройки прокси в проекте:

Блок Kickscraper.configure содержит строки для настройки клиента. Одна из конфигураций proxy . Источник

Kickscraper.configure do |config|
  config.email = '[email protected]'
  config.password = 'This is not my real password. Seriously.'
  config.proxy = nil
end

Установите либо config.proxy = nil , либо config.proxy = "" .

В противном случае найдите константу LOCAL_PROXY в своих сценариях и не устанавливайте ее.

Пример его установки:
https://github.com/markolson/kickscraper/blob/cef996ae73ef3166703d0cb9e452482cb5695c1a/spec/test_constants.rb

Надеюсь это поможет!

Благодарим вас за решение проблемы, которая полностью выходила за рамки вашей кодовой базы. Вы молодцы, и быстро!

27 февраля 2019 г., в 7:18, Олле Йонссон, [email protected] , написал:

Закрыто № 886.


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите ветку.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги