Faraday: Faraday :: Error :: ConnectionFailed

作成日 2019年02月27日  ·  4コメント  ·  ソース: lostisland/faraday

最終的なエラーはファラデーを参照しているため、これを報告しています。 私はすでにこの問題をKickscraperに報告しましたが、問題がKickscraperスクリプト内にあるとは考えていません-https ://github.com/markolson/kickscraper/issues/47。

この問題がファラデーにない場合はお詫びしますが、このコミュニティが提供できる支援や洞察をいただければ幸いです。

基本情報

  • ファラデーバージョン:0.8.11
  • ファラデー-ミドルウェアバージョン:0.13.1
  • Rubyバージョン: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))

再現する手順

Rubyのインストール:

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

Gemsのインストール:
抽出された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でインストール

Kickscraperのインストール:

'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

Kickscraperを起動します。

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

最も参考になるコメント

コードベースの完全に外れた問題を解決していただきありがとうございます。 あなたたちは素晴らしい、そして速いです!

2019年2月27日午前7時18分、 OlleJonssonnotifications @ github.comは次のように書いています。

#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ブロックには、クライアント構成行が含まれています。 構成の1つは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

お役に立てれば!

コードベースの完全に外れた問題を解決していただきありがとうございます。 あなたたちは素晴らしい、そして速いです!

2019年2月27日午前7時18分、 OlleJonssonnotifications @ github.comは次のように書いています。

#886を閉じました。


あなたが言及されたので、あなたはこれを受け取っています。
このメールに直接返信するか、GitHubで表示するか、スレッドをミュートしてください。

このページは役に立ちましたか?
0 / 5 - 0 評価