Estou relatando isso porque o erro final se refere a Faraday. Eu já relatei esse problema ao Kickscraper, mas eles não acreditam que o problema resida nos scripts do Kickscraper - https://github.com/markolson/kickscraper/issues/47.
Desculpe se este problema não reside com Faraday, mas gostaria de receber qualquer ajuda ou insights que esta comunidade possa fornecer.
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))
Instalação do rubi:
rubyinstaller-2.6.1-1-x86.exe installed to 'C:\Program Files\Ruby\Ruby26'
Instalação de gemas:
Extraído rubygems-3.0.2.zip para C:\Program Files\Ruby\gems\.
Instalado com cd C:\Program Files\Ruby\rubygems\3.0.2 && ..\..\Ruby26\bin\ruby.exe setup.rb
Instalação do 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
Lançamento 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
Oi @mattmill30 , o erro que você está recebendo é bem 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, o Kickscraper.client
espera que um servidor esteja escutando em sua máquina na porta 8888
, mas parece que não é o caso.
Se esse for o único problema, temo que isso não seja um bug com Faraday, pois o problema parece ser que não há nenhum servidor ouvindo em localhost:8888
.
Como você pode ver no stacktrace, a última chamada é
1: from C:/Program Files/Ruby/Ruby26/lib/ruby/2.6.0/net/http.rb:949:in `rescue in block in connect'
então, do ponto de vista de Faraday, a solicitação é passada corretamente para o adaptador ( Net::HTTP
neste caso), mas então algo está errado durante a execução.
O motivo pelo qual você vê um erro de Faraday gerado é porque nós resgatamos e encapsulamos as exceções de adaptadores para que, se você decidir alterar o adaptador no futuro, não precise alterar seu código. Isso não significa que houve um problema com Faraday.
Concordo com @benrugg que isso parece um problema de proxy.
Eu sugiro que você ligue para Kickscraper.proxy
e veja o que isso retorna.
Lamento enviá-lo de volta para Kickscraper
mas estou bastante confortável de que isso não é um problema com Faraday pelos motivos destacados acima
Obrigado @iMacTia , executei 'c = Kickscraper.proxy' e ele retorna " https://localhost :8888".
Como eu desabilitaria o proxy?
@mattmill30 Vou encerrar esta edição (não faz parte do projeto Faraday).
Aqui estão algumas notas de passagem sobre a configuração de proxy no projeto:
O bloco Kickscraper.configure
contém linhas de configuração do cliente. Uma das configurações é proxy
. Fonte
Kickscraper.configure do |config|
config.email = '[email protected]'
config.password = 'This is not my real password. Seriously.'
config.proxy = nil
end
Defina config.proxy = nil
ou config.proxy = ""
.
Caso contrário, procure a constante LOCAL_PROXY, em seus scripts, e não a configure.
Exemplo de configuração:
https://github.com/markolson/kickscraper/blob/cef996ae73ef3166703d0cb9e452482cb5695c1a/spec/test_constants.rb
Espero que isto ajude!
Obrigado por resolver um problema que estava completamente fora de sua base de código. Vocês são incríveis e rápidos!
Em 27 de fevereiro de 2019, às 7h18, Olle Jonsson [email protected] escreveu:
Fechado #886.
—
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub ou silencie a conversa.
Comentários muito úteis
Obrigado por resolver um problema que estava completamente fora de sua base de código. Vocês são incríveis e rápidos!