Faraday: Faraday::Error::ConnectionFailed

Créé le 27 févr. 2019  ·  4Commentaires  ·  Source: lostisland/faraday

Je signale cela parce que l'erreur finale fait référence à Faraday. J'ai déjà signalé ce problème à Kickscraper, mais ils ne pensent pas que le problème réside dans les scripts Kickscraper - https://github.com/markolson/kickscraper/issues/47.

Toutes mes excuses si ce problème ne réside pas chez Faraday, mais j'apprécierais toute aide ou idée que cette communauté peut fournir.

Informations de base

  • Version de Faraday : 0.8.11
  • Version du middleware Faraday : 0.13.1
  • Version rubis : 2.6.1

Description du problème

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

Étapes à reproduire

Installation de Rubis :

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

Installation de gemmes :
Rubygems-3.0.2.zip extrait en C:\Program Files\Ruby\gems\.
Installé avec cd C:\Program Files\Ruby\rubygems\3.0.2 && ..\..\Ruby26\bin\ruby.exe setup.rb

Installation du grattoir :

'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

Lancer 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

Commentaire le plus utile

Merci d'avoir résolu un problème qui était complètement en dehors de votre base de code. Vous êtes géniaux et rapides !

Le 27 février 2019, à 7h18, Olle Jonsson [email protected] a écrit :

Fermé #886.


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub ou désactivez le fil de discussion.

Tous les 4 commentaires

Salut @mattmill30 , l'erreur que vous obtenez est assez claire :

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

Apparemment, le Kickscraper.client s'attend à ce qu'un serveur écoute sur votre machine sur le port 8888 , mais il semble que ce ne soit pas le cas.
Si c'est le seul problème, j'ai bien peur que ce ne soit pas un bogue avec Faraday car le problème semble être qu'il n'y a pas de serveur à l'écoute sur localhost:8888 .

Comme vous pouvez le voir sur le stacktrace, le dernier appel est

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

donc du point de vue de Faraday, la requête est correctement transmise à l'adaptateur ( Net::HTTP dans ce cas), mais quelque chose ne va pas lors de son exécution.
La raison pour laquelle une erreur Faraday est générée est que nous récupérons et encapsulons les exceptions des adaptateurs afin que si vous décidez de modifier l'adaptateur à l'avenir, vous n'ayez pas besoin de modifier votre code. Cela ne signifie pas qu'il y avait un problème avec Faraday.

Je suis d'accord avec @benrugg que cela ressemble à un problème de proxy.
Je vous suggère d'appeler Kickscraper.proxy et de voir ce que cela donne.
Je suis désolé de vous renvoyer à Kickscraper mais je suis tout à fait à l'aise que ce n'est pas un problème avec Faraday pour les raisons soulignées ci-dessus

Merci @iMacTia , j'ai exécuté 'c = Kickscraper.proxy' et il renvoie " https://localhost :8888".

Comment désactiver le proxy ?

@mattmill30 Je vais fermer ce numéro (ne faisant pas partie du projet Faraday).

Voici quelques notes en passant sur le paramètre de proxy dans le projet :

Le bloc Kickscraper.configure contient des lignes de configuration client. L'une des configurations est proxy . La source

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

Réglez-le sur config.proxy = nil ou sur config.proxy = "" .

Sinon, recherchez la constante LOCAL_PROXY dans vos scripts et ne la définissez pas.

Exemple de définition :
https://github.com/markolson/kickscraper/blob/cef996ae73ef3166703d0cb9e452482cb5695c1a/spec/test_constants.rb

J'espère que cela t'aides!

Merci d'avoir résolu un problème qui était complètement en dehors de votre base de code. Vous êtes géniaux et rapides !

Le 27 février 2019, à 7h18, Olle Jonsson [email protected] a écrit :

Fermé #886.


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub ou désactivez le fil de discussion.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

ioquatix picture ioquatix  ·  4Commentaires

jordansissel picture jordansissel  ·  5Commentaires

mvastola picture mvastola  ·  4Commentaires

aleksb86 picture aleksb86  ·  3Commentaires

yusefu picture yusefu  ·  3Commentaires