R 中 twitteR 的 SSL 证书失败 [英] SSL certificate failed for twitteR in R

查看:102
本文介绍了R 中 twitteR 的 SSL 证书失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道有人又问过类似的问题.但是,我已经尝试了我在此处和谷歌上找到的所有内容,但似乎没有任何效果.

I know similar questions have been asked again. However, I've tried everything I found here and on google and nothing seems to work for me.

我的代码如下:

reqURL <- "http://api.twitter.com/oauth/request_token"
accessURL <- "http://api.twitter.com/oauth/access_token"
authURL <- "http://api.twitter.com/oauth/authorize"
consumerKey <- "xxxxxxxxxxx"
consumerSecret <- "xxxxxxxxxxxxxxxxxxx"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
                         consumerSecret=consumerSecret,
                         requestURL=reqURL,
                         accessURL=accessURL,
                         authURL=authURL)
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
registerTwitterOAuth(twitCred)

我得到:[1] 真

但是如果我尝试这个:tweets = searchTwitter('blabla', n=1500)

我收到以下错误:[1] "SSL 证书问题,验证 CA 证书是否正常.详细信息:\n错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败"twInterfaceObj$doAPICall(cmd, params, "GET", ...) 中的错误:错误:SSL 证书问题,请验证 CA 证书是否正常.细节:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

以下是我电脑上的软件包和版本:

Here are the packages and versions on my PC:

会话信息()R 版本 2.15.1 (2012-06-22)平台:i386-pc-mingw32/i386(32位)

sessionInfo() R version 2.15.1 (2012-06-22) Platform: i386-pc-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=Greek_Greece.1253  LC_CTYPE=Greek_Greece.1253   
[3] LC_MONETARY=Greek_Greece.1253 LC_NUMERIC=C                 
[5] LC_TIME=Greek_Greece.1253    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ROAuth_0.9.2   digest_0.6.2   twitteR_1.1.0  rjson_0.2.12  
[5] RCurl_1.95-4.1 bitops_1.0-5  

loaded via a namespace (and not attached):
[1] tools_2.15.1

任何帮助都会非常有用!!

Any help would be really useful!!

推荐答案

先执行以下操作,然后运行您的代码:

Do the following first, and then run your code:

library(RCurl) 

# Set SSL certs globally
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

这通常可以解决您遇到的问题.

This usually corrects the issue you were experiencing.

编辑(2014 年 8 月):或者更好的是,尝试改用 httr 包(它是 RCurl 的友好包装器,为您设置了有用的默认选项)

这篇关于R 中 twitteR 的 SSL 证书失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆