Faraday: Faraday::Error::Error de conexión

Creado en 27 feb. 2019  ·  4Comentarios  ·  Fuente: lostisland/faraday

Estoy informando esto porque el error final se refiere a Faraday. Ya informé este problema a Kickscraper, pero no creen que el problema resida en los scripts de Kickscraper: https://github.com/markolson/kickscraper/issues/47.

Disculpas si este problema no reside en Faraday, pero agradecería cualquier ayuda o información que esta comunidad pueda brindar.

Información básica

  • Versión de Faraday: 0.8.11
  • Versión de Faraday-middleware: 0.13.1
  • Versión Rubí: 2.6.1

Descripcion del problema

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

pasos para reproducir

Instalación de rubí:

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

Instalación de gemas:
Extraído rubygems-3.0.2.zip a C:\Program Files\Ruby\gems\.
Instalado con cd C:\Program Files\Ruby\rubygems\3.0.2 && ..\..\Ruby26\bin\ruby.exe setup.rb

Instalación de rascador:

'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

Lanzar 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

Comentario más útil

Gracias por resolver un problema que estaba completamente fuera de su base de código. ¡Ustedes son geniales y rápidos!

El 27 de febrero de 2019, a las 7:18 a. m., Olle Jonsson [email protected] escribió:

Cerrado #886.


Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub o silencie el hilo.

Todos 4 comentarios

Hola @mattmill30 , el error que recibes es bastante claro:

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

Aparentemente Kickscraper.client espera que un servidor esté escuchando en su máquina en el puerto 8888 , pero parece que ese no es el caso.
Si ese es el único problema, me temo que no es un error con Faraday, ya que el problema parece ser que no hay un servidor escuchando en localhost:8888 .

Como puede ver en el seguimiento de la pila, la última llamada es

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

entonces, desde el punto de vista de Faraday, la solicitud se pasa correctamente al adaptador ( Net::HTTP en este caso), pero luego algo está mal al realizarlo.
La razón por la que aparece un error de Faraday es porque rescatamos y ajustamos las excepciones de los adaptadores para que, si decide cambiar el adaptador en el futuro, no necesite cambiar su código. No significa que hubo un problema con Faraday.

Estoy de acuerdo con @benrugg en que esto parece un problema de proxy.
Te sugiero que llames a Kickscraper.proxy y veas qué devuelve.
Lamento enviarlo de regreso a Kickscraper pero estoy bastante seguro de que esto no es un problema con Faraday por las razones mencionadas anteriormente.

Gracias @iMacTia , ejecuté 'c = Kickscraper.proxy' y devuelve " https://localhost :8888".

¿Cómo deshabilitaría el proxy?

@mattmill30 Voy a cerrar este número (no es parte del proyecto Faraday).

Aquí hay algunas notas de pasada sobre la configuración del proxy en el proyecto:

El bloque Kickscraper.configure tiene líneas de configuración del cliente. Una de las configuraciones es proxy . Fuente

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

Establézcalo en config.proxy = nil o en config.proxy = "" .

De lo contrario, busque la constante LOCAL_PROXY en sus scripts y no la configure.

Ejemplo de que se establece:
https://github.com/markolson/kickscraper/blob/cef996ae73ef3166703d0cb9e452482cb5695c1a/spec/test_constants.rb

¡Espero que esto ayude!

Gracias por resolver un problema que estaba completamente fuera de su base de código. ¡Ustedes son geniales y rápidos!

El 27 de febrero de 2019, a las 7:18 a. m., Olle Jonsson [email protected] escribió:

Cerrado #886.


Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub o silencie el hilo.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

Lewiscowles1986 picture Lewiscowles1986  ·  4Comentarios

amrrbakry picture amrrbakry  ·  4Comentarios

jedeleh picture jedeleh  ·  3Comentarios

ioquatix picture ioquatix  ·  4Comentarios

QuinnWilton picture QuinnWilton  ·  4Comentarios