- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Koala 让 Facebook Graph API 在 Rails 2.3.5 中工作。在我的开发环境 (Mac) 中一切正常,但在生产环境 (Ubuntu 8.04.1) 中失败。
测试代码:
cookies = {"__utma"=>"158657023.1470934917.1315425280.1317394623.1317406089.55", "28aac256bbbe09dcae1eb7086ae1c326"=>"c14d42fcd1a6700aa6198a2ecd7587fa", "fbsetting_28aac256bbbe09dcae1eb7086ae1c326"=>"{\"connectState\":1,\"oneLineStorySetting\":3,\"shortStorySetting\":3,\"inFacebook\":false}", "__utmb"=>"158657023.23.10.1317406089", "28aac256bbbe09dcae1eb7086ae1c326_session_key"=>"c76e09e8124a194e26a9c1e9.1-635077092", "28aac256bbbe09dcae1eb7086ae1c326_user"=>"635077092", "__utmc"=>"158657023", "28aac256bbbe09dcae1eb7086ae1c326_expires"=>"0", "__utmz"=>"158657023.1317406089.55.52.utmcsr=angel.co|utmccn=(referral)|utmcmd=referral|utmcct=/thingspotter", "fbs_265881436784759"=>"\"access_token=AAADx0ViXiHcBAFMuyXsGRdZB4GmmHyZBQl9h7Ymqi6z0kk3ko5jRJGmdWZCdJQm7dWg2nCyraaZCJuJ6iurPxDHL6bZCMzosZD&expires=0&secret=815a69d93434d26034ada92bb2e80ae9&session_key=858594415a361e318af23dd1.1-635077092&sig=55f7e932f8e68a7dad6ae35af1877b45&uid=635077092\"", "_DefaultAppFacebook_session"=>"BAh7CToPc2Vzc2lvbl9pZCIlYzZjZGU5ZmJlNGU0NTM2ZjExNmQ1ZGQ5ZTc3ZjhiZDUiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA6EF9jc3JmX3Rva2VuIjFnZllGbGFVK0hMdVdZcDZaZjhJY3VJWVlZY2dEakc4VCtpM0dWTktSbFFRPSILbGF5b3V0IgxkZXNrdG9w--195b2d14ce7593502ec6d161906ceb0c38ed4219", "28aac256bbbe09dcae1eb7086ae1c326_ss"=>"0854c086618a5e075e2d9a866ce03f82"}
@facebook_cookies = Koala::Facebook::OAuth.new.get_user_info_from_cookie(cookies)
oauth_access_token = @facebook_cookies["access_token"]
graph = Koala::Facebook::GraphAPI.new(oauth_access_token)
fb_user = graph.get_object('me')
产生错误信息:
OpenSSL::SSL::SSLError: certificate verify failed
from /usr/lib/ruby/1.8/net/http.rb:586:in `connect'
from /usr/lib/ruby/1.8/net/http.rb:586:in `connect'
from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
from /usr/lib/ruby/1.8/net/http.rb:542:in `start'
from /usr/lib/ruby/1.8/net/http.rb:1035:in `request'
from /usr/lib/ruby/1.8/net/http.rb:772:in `get'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/adapter/net_http.rb:49:in `call'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/request/url_encoded.rb:14:in `call'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/request/multipart.rb:13:in `call'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/connection.rb:203:in `run_request'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/connection.rb:85:in `get'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala/http_service.rb:49:in `send'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala/http_service.rb:49:in `make_request'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala.rb:131:in `make_request'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala.rb:57:in `api'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala/graph_api.rb:215:in `graph_call'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala/graph_api.rb:36:in `get_object'
很明显是SSL证书相关的东西,所以我尝试配置Koala:
Koala.http_service.http_options = {
:ssl => {
:ca_file => '/etc/ssl/certs',
:verify_mode => OpenSSL::SSL::VERIFY_PEER,
:verify => true
}
}
...并下载 http://curl.haxx.se/ca/cacert.pem到 /etc/ssl/certs 文件夹。虽然没有任何明显的区别。
相关的 gem 是:
faraday (0.7.4)
koala (1.2.0)
rails (2.3.5)
ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
我找到了 related SO posts但没有完美匹配。
最佳答案
我在 Rails 3.2、Ruby 1.9.3、Ubuntu 11.10 上遇到了同样的问题
除了证书文件现在是 ca-certificates.crt 之外,TenJack 的回答有效,所以:
Koala::HTTPService.http_options[:ssl] = {:ca_file => '/etc/ssl/certs/ca-certificates.crt'}
关于ruby-on-rails - Rails 2.3.x & 考拉 & Facebook : certificate verify failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7615750/
我一直在开发数字签名 Node.js 应用程序,然后我遇到了我无法弄清楚的奇怪行为。 首先我生成了公钥/私钥对 described here 然后我实现了以下脚本 const crypto = r
缺少[路由:验证。通知] [URI:{language} / email / verify]所需的参数 使用本地化后,我将laravel电子邮件验证添加到了我的项目中。 但是现在我遇到了问题:Rout
我用对象列表调用方法 performAction 并验证相同的方法。调用此方法后,我修改了一些“对象”。 Mockito 验证失败,说参数不匹配(显示修改的对象),但我可以在 Debug模式下看到对象
我在处理opensl时遇到麻烦,提示无法在具有CA链的地方验证本地颁发的证书。除了本地CA链证书(CER,PEM,CRT)之外,我还有本地颁发的证书(PEM和CRT)。根和颁发者是同一台服务器。比较两
我正在使用 protobuf 自动生成我的 API 服务,在 gRPC 中技术,在我的安卓客户端。自从我一直在毫无问题地工作以来,已经过去了几个月。现在突然之间,AndroidRuntime Veri
我们目前正在使用“mvn clean verify”在 Hudson 上运行我们的持续构建。这就是我们一直在做的,所以我们从不质疑它。 问题是:仅使用“mvn verify”运行连续构建是否安全?因此
我已经在我的虚拟机上安装了 redis。然后我运行命令 [root@vm001jeguan ~]# rladmin help verify 它显示以下错误: [root@dltasvm001jegua
我正在使用以下应用链接:https://developer.android.com/training/app-links/verify-site-associations 使用cmd时:adb she
我写了一个应用程序,我想在网上销售它,所以我把它上传到我的网站,并试图下载并运行它作为测试,但出现了一个窗口,它说:“无法验证发布者。你确定吗?要运行此软件吗?”,并且还说:“发布者:未知发布者”。它
我们正在迁移与Kotlin接触的类,因此我们需要在Java测试类中模拟Kotlin类。我们使用io.mockk:mockk:1.9.3。 为了至少验证x次,我们有一个包装器方法 public stat
在完全更新的 XCode 4.6(以及之前的 4.5)中,构建过程的“验证应用程序”步骤在我的机器上通常需要两分钟以上的时间。在类似计算机上构建相同应用程序的同事只需几秒钟即可完成此步骤。在过去的几个
它在 documentation 中说 构建生命周期中的验证阶段 run any checks on results of integration tests to ensure quality cr
我有一个模拟对象,正在验证一些调用的东西。但想知道 MockedObject.Verify(thingToBeVerified) 的默认参数是什么? 是 Times.Zero、Times.Once 还
谁能向我解释一下每种用户类型(荣誉、已验证、审核和员工之间的区别)他们的角色? (对每个用户及其可以执行的操作的简要说明)。 我查了官方文档,但没有找到! 谢谢。 最佳答案 Honor 用户会自动注册
我正在编写一个 Chrome 扩展,其中内容脚本向后台脚本发送消息。 chrome.runtime.sendMessage({greeting: "hello"}, function(response
我在编写测试时已经习惯了遵循代码模式 public void TestMethod_Condition_Output() { //Arrange---------------- Moc
我有以下代码: class Foo { public Foo() { Size = true; } private bool _size; pr
我有以下代码,取自 ShowSignature来自 PDFBox 2 的示例。我正在运行五个测试,其中调用了它,其中 4 个测试顺利通过(无签名、单签名、双签名、过期签名),但第五个测试是椭圆曲线,但
我正在尝试mockito.verify()功能,该方法仅调用一次,但verify显示调用3次。单元测试只有一个测试,以确保该测试不会受到其他影响。Mockito.verify(utilClass, M
摆弄 Mockito 来实现我的服务的单元测试,但出于某种原因,我无法通过我厚实的头骨来完成它。我的测试通过了,但我不相信我做对了。 这是我测试 count() 方法的示例。该方法只是将调用转发到其存
我是一名优秀的程序员,十分优秀!