我报告这个是因为最后的错误是指法拉第。 我已经向 Kickscraper 报告了这个问题,但他们认为问题不在 Kickscraper 脚本中 - https://github.com/markolson/kickscraper/issues/47。
如果法拉第不存在此问题,我深表歉意,但我将不胜感激该社区可以提供的任何帮助或见解。
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
安装
踢脚线安装:
'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
嗨@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
上侦听您的计算机,但情况似乎并非如此。
如果这是唯一的问题,恐怕这不是法拉第的错误,因为问题似乎是没有服务器在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
),但是在执行它时出现了问题。
您看到引发法拉第错误的原因是因为我们拯救并包装了适配器异常,因此如果您决定将来更改适配器,则无需更改代码。 这并不意味着法拉第有问题。
我同意@benrugg的观点,这看起来像是一个代理问题。
我建议你打电话给Kickscraper.proxy
看看它会返回什么。
很抱歉将您送回Kickscraper
,但我很放心,由于上述原因,这不是法拉第的问题
谢谢@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 常量,不要设置它。
希望这可以帮助!
感谢您解决了完全超出您的代码库的问题。 你们真棒,而且速度很快!
2019 年 2 月 27 日上午 7:18,Olle Jonsson [email protected]写道:
关闭#886。
—
你收到这个是因为你被提到了。
直接回复此电子邮件,在 GitHub 上查看它,或将线程静音。
最有用的评论
感谢您解决了完全超出您的代码库的问题。 你们真棒,而且速度很快!