Faraday: Faraday::Kesalahan::Koneksi Gagal

Dibuat pada 27 Feb 2019  ·  4Komentar  ·  Sumber: lostisland/faraday

Saya melaporkan ini karena kesalahan terakhir mengacu pada Faraday. Saya telah melaporkan masalah ini ke Kickscraper, tetapi mereka tidak percaya bahwa masalahnya ada di dalam skrip Kickscraper - https://github.com/markolson/kickscraper/issues/47.

Maaf jika masalah ini tidak ada pada Faraday, tetapi saya akan sangat menghargai bantuan atau wawasan yang dapat diberikan komunitas ini.

Info dasar

  • Versi Faraday: 0.8.11
  • Versi middleware Faraday: 0.13.1
  • Versi Ruby: 2.6.1

Deskripsi masalah

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

Langkah-langkah untuk mereproduksi

Instalasi Ruby:

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

Instalasi permata:
Ekstrak rubygems-3.0.2.zip ke C:\Program Files\Ruby\gems\.
Diinstal dengan cd C:\Program Files\Ruby\rubygems\3.0.2 && ..\..\Ruby26\bin\ruby.exe setup.rb

Instalasi 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

Luncurkan 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

Komentar yang paling membantu

Terima kasih telah menyelesaikan masalah yang sepenuhnya berada di luar basis kode Anda. Kalian luar biasa, dan cepat!

Pada 27 Februari 2019, pukul 07:18, Olle Jonsson [email protected] menulis:

Tutup #886.


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub, atau matikan utasnya.

Semua 4 komentar

Hai @mattmill30 , kesalahan yang Anda dapatkan kembali cukup jelas:

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

Rupanya Kickscraper.client mengharapkan server untuk mendengarkan mesin Anda pada port 8888 , tetapi sepertinya bukan itu masalahnya.
Jika itu satu-satunya masalah, saya khawatir ini bukan bug dengan Faraday karena masalahnya tampaknya tidak ada server yang mendengarkan localhost:8888 .

Seperti yang Anda lihat dari stacktrace, panggilan terakhir adalah

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

jadi dari sudut pandang Faraday, permintaan diteruskan dengan benar ke adaptor ( Net::HTTP dalam kasus ini), tetapi kemudian ada yang salah saat menjalankannya.
Alasan Anda melihat kesalahan Faraday muncul adalah karena kami menyelamatkan dan membungkus pengecualian adaptor sehingga jika Anda memutuskan untuk mengubah adaptor di masa mendatang, Anda tidak perlu mengubah kode Anda. Itu tidak berarti ada masalah dengan Faraday.

Saya setuju dengan @benrugg bahwa ini terlihat seperti masalah proxy.
Saya sarankan Anda untuk menelepon Kickscraper.proxy dan melihat apa yang kembali.
Maaf mengirim Anda kembali ke Kickscraper tapi saya cukup nyaman ini bukan masalah dengan Faraday karena alasan yang disorot di atas

Terima kasih @iMacTia , saya telah menjalankan 'c = Kickscraper.proxy' dan mengembalikan " https://localhost :8888".

Bagaimana cara menonaktifkan proxy?

@ mattmill30 Saya akan menutup Masalah ini (bukan bagian dari proyek Faraday).

Berikut adalah beberapa catatan sepintas tentang pengaturan proxy dalam proyek:

Blok Kickscraper.configure memiliki baris konfigurasi klien di dalamnya. Salah satu konfigurasinya adalah proxy . Sumber

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

Setel ke config.proxy = nil atau ke config.proxy = "" .

Jika tidak, cari konstanta LOCAL_PROXY, di skrip Anda, dan jangan atur.

Contoh pengaturannya:
https://github.com/markolson/kickscraper/blob/cef996ae73ef3166703d0cb9e452482cb5695c1a/spec/test_constants.rb

Semoga ini membantu!

Terima kasih telah menyelesaikan masalah yang sepenuhnya berada di luar basis kode Anda. Kalian luar biasa, dan cepat!

Pada 27 Februari 2019, pukul 07:18, Olle Jonsson [email protected] menulis:

Tutup #886.


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub, atau matikan utasnya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

mokolabs picture mokolabs  ·  3Komentar

jeffb-stell picture jeffb-stell  ·  5Komentar

subvertallchris picture subvertallchris  ·  5Komentar

jordansissel picture jordansissel  ·  5Komentar

Lewiscowles1986 picture Lewiscowles1986  ·  4Komentar