Faraday: فاراداي :: خطأ :: فشل الاتصال

تم إنشاؤها على ٢٧ فبراير ٢٠١٩  ·  4تعليقات  ·  مصدر: lostisland/faraday

أبلغ عن هذا لأن الخطأ الأخير يشير إلى فاراداي. لقد أبلغت بالفعل Kickscraper بهذه المشكلة ، لكنهم لا يعتقدون أن المشكلة تكمن في نصوص Kickscraper النصية - https://github.com/markolson/kickscraper/issues/47.

نعتذر إذا لم تكن هذه المشكلة موجودة في Faraday ، لكنني سأكون ممتنًا لأي مساعدة أو رؤى يمكن أن يقدمها هذا المجتمع.

معلومات أساسية

  • إصدار فاراداي: 0.8.11
  • إصدار البرنامج الوسيط Faraday: 0.13.1
  • إصدار روبي: 2.6.1

وصف المشكلة

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

خطوات التكاثر

تركيب روبي:

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

تركيب الجواهر:
تم استخراج rubygems-3.0.2.zip إلى C:\Program Files\Ruby\gems\.
مُثبَّت بـ cd C:\Program Files\Ruby\rubygems\3.0.2 && ..\..\Ruby26\bin\ruby.exe setup.rb

تركيب 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

إطلاق 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

التعليق الأكثر فائدة

شكرًا لك على حل مشكلة كانت خارج قاعدة التعليمات البرمجية الخاصة بك تمامًا. أنتم يا رفاق رائعون وسريعون!

في 27 فبراير 2019 ، الساعة 7:18 صباحًا ، كتب Olle Jonsson [email protected] :

مغلق # 886.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub ، أو قم بكتم صوت الموضوع.

ال 4 كومينتر

مرحبًا @ mattmill30 ، الخطأ الذي ترجع إليه واضح تمامًا:

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

يبدو أن Kickscraper.client يتوقع أن يقوم الخادم بالاستماع على جهازك على المنفذ 8888 ، لكن يبدو أن الأمر ليس كذلك.
إذا كانت هذه هي المشكلة الوحيدة ، أخشى أن هذا ليس خطأ في Faraday حيث يبدو أن المشكلة أنه لا يوجد خادم يستمع على localhost:8888 .

كما ترى من تتبع المكدس ، فإن المكالمة الأخيرة هي

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

لذلك من وجهة نظر فاراداي ، يتم تمرير الطلب بشكل صحيح إلى المحول ( Net::HTTP في هذه الحالة) ، ولكن بعد ذلك حدث خطأ ما أثناء تنفيذه.
سبب ظهور خطأ Faraday هو أننا نحفظ استثناءات المحولات ونلتفها بحيث إذا قررت تغيير المحول في المستقبل ، فلن تحتاج إلى تغيير الكود الخاص بك. هذا لا يعني أنه كانت هناك مشكلة مع فاراداي.

أتفق مع benrugg في أن هذا يبدو وكأنه مشكلة في الوكيل.
أود أن أقترح عليك الاتصال بـ Kickscraper.proxy ومعرفة ما يعود عليك.
يؤسفني إعادتك إلى Kickscraper لكنني مرتاح تمامًا لأن هذه ليست مشكلة مع Faraday للأسباب الموضحة أعلاه

شكرًا iMacTia ، لقد قمت بتشغيل 'c = Kickscraper.proxy' وإرجاع " https: // localhost : 8888".

كيف يمكنني تعطيل الوكيل؟

@ mattmill30 سأغلق هذا العدد (ليس جزءًا من مشروع فاراداي).

فيما يلي بعض الملاحظات حول إعداد الوكيل في المشروع:

تحتوي كتلة Kickscraper.configure على أسطر تكوين العميل بداخلها. أحد التكوينات هو proxy . مصدر

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

قم بتعيينه إما على config.proxy = nil أو إلى config.proxy = "" .

خلاف ذلك ، ابحث عن ثابت LOCAL_PROXY ، في البرامج النصية الخاصة بك ، ولا تقم بتعيينه.

مثال على ذلك يتم تعيينه:
https://github.com/markolson/kickscraper/blob/cef996ae73ef3166703d0cb9e452482cb5695c1a/spec/test_constants.rb

أتمنى أن يساعدك هذا!

شكرًا لك على حل مشكلة كانت خارج قاعدة التعليمات البرمجية الخاصة بك تمامًا. أنتم يا رفاق رائعون وسريعون!

في 27 فبراير 2019 ، الساعة 7:18 صباحًا ، كتب Olle Jonsson [email protected] :

مغلق # 886.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub ، أو قم بكتم صوت الموضوع.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

ioquatix picture ioquatix  ·  4تعليقات

jedeleh picture jedeleh  ·  3تعليقات

QuinnWilton picture QuinnWilton  ·  4تعليقات

olleolleolle picture olleolleolle  ·  5تعليقات

mvastola picture mvastola  ·  4تعليقات