Faraday: Faraday::Fehler::Verbindung fehlgeschlagen

Erstellt am 27. Feb. 2019  ·  4Kommentare  ·  Quelle: lostisland/faraday

Ich melde dies, weil sich der letzte Fehler auf Faraday bezieht. Ich habe dieses Problem bereits an Kickscraper gemeldet, aber sie glauben nicht, dass das Problem in den Kickscraper-Skripten liegt – https://github.com/markolson/kickscraper/issues/47.

Es tut uns leid, wenn dieses Problem nicht bei Faraday liegt, aber ich würde mich über jede Unterstützung oder jeden Einblick freuen, den diese Community bieten kann.

Basisinformation

  • Faraday-Version: 0.8.11
  • Faraday-Middleware Version: 0.13.1
  • Ruby-Version: 2.6.1

Fehlerbeschreibung

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))

Schritte zum Reproduzieren

Ruby-Installation:

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

Installation von Edelsteinen:
Rubygems-3.0.2.zip nach C:\Program Files\Ruby\gems\. extrahiert
Installiert mit cd C:\Program Files\Ruby\rubygems\3.0.2 && ..\..\Ruby26\bin\ruby.exe setup.rb

Kickscraper-Installation:

'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

Starten Sie 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

Hilfreichster Kommentar

Vielen Dank für die Lösung eines Problems, das vollständig außerhalb Ihrer Codebasis lag. Ihr seid super und schnell!

Am 27. Februar 2019 um 7:18 Uhr schrieb Olle Jonsson [email protected] :

Geschlossen #886.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

Alle 4 Kommentare

Hallo @mattmill30 , der Fehler, den Sie zurückbekommen, ist ziemlich klar:

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))

Anscheinend erwartet Kickscraper.client , dass ein Server auf Port 8888 auf Ihrem Rechner lauscht, aber das scheint nicht der Fall zu sein.
Wenn dies das einzige Problem ist, befürchte ich, dass dies kein Fehler mit Faraday ist, da das Problem darin zu liegen scheint, dass kein Server auf localhost:8888 lauscht.

Wie Sie dem Stacktrace entnehmen können, ist der letzte Aufruf

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

Aus Sicht von Faraday wird die Anfrage also korrekt an den Adapter weitergeleitet (in diesem Fall Net::HTTP ), aber dann stimmt etwas nicht, während sie ausgeführt wird.
Der Grund, warum ein Faraday-Fehler angezeigt wird, liegt darin, dass wir Adapterausnahmen retten und umschließen, sodass Sie Ihren Code nicht ändern müssen, wenn Sie sich entscheiden, den Adapter in Zukunft zu ändern. Das bedeutet nicht, dass es ein Problem mit Faraday gab.

Ich stimme @benrugg zu, dass dies wie ein Proxy-Problem aussieht.
Ich würde vorschlagen, dass Sie Kickscraper.proxy anrufen und sehen, was das zurückgibt.
Es tut mir leid, Sie zurück zu Kickscraper zu schicken, aber ich bin mir ziemlich sicher, dass dies aus den oben genannten Gründen kein Problem mit Faraday ist

Danke @iMacTia , ich habe 'c = Kickscraper.proxy' ausgeführt und es gibt " https://localhost :8888" zurück.

Wie würde ich den Proxy deaktivieren?

@mattmill30 Ich werde diese Ausgabe schließen (nicht Teil des Faraday-Projekts).

Hier noch einige Hinweise zur Proxy-Einstellung im Projekt:

Der Block Kickscraper.configure enthält Client-konfigurierende Zeilen. Eine der Konfigurationen ist proxy . Quelle

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

Stellen Sie ihn entweder auf config.proxy = nil oder auf config.proxy = "" ein.

Suchen Sie andernfalls in Ihren Skripten nach der LOCAL_PROXY-Konstante und setzen Sie sie nicht .

Beispiel für die Einstellung:
https://github.com/markolson/kickscraper/blob/cef996ae73ef3166703d0cb9e452482cb5695c1a/spec/test_constants.rb

Hoffe das hilft!

Vielen Dank für die Lösung eines Problems, das vollständig außerhalb Ihrer Codebasis lag. Ihr seid super und schnell!

Am 27. Februar 2019 um 7:18 Uhr schrieb Olle Jonsson [email protected] :

Geschlossen #886.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen