使用R的Windows上的ROauth
我搜索了SO并看到了关于该主题的一些问题,但我没有找到任何与
Windows直接相关的内容(我以前的帖子是针对
Linux的).
更具体地说,我想使用twitteR软件包,但我无法使用身份验证.到目前为止,我已经可以访问其他机器,但这一次,我需要完全保留在Windows中.我怎么能绕过这个? 这是错误: Error in curlPerform(curl = curl,URL = url,postfields = fields,writefunction = reader$update,: SSL certificate problem,verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 编辑:从twitteR包的文档生成….的代码 cred <- OAuthFactory$new(consumerKey = KEY,consumerSecret = SECRET,requestURL = "https://api.twitter.com/oauth/request_token",accessURL = "https://api.twitter.com/oauth/access_token",authURL = "https://api.twitter.com/oauth/authorize") cred$handshake()
2013年5月更新
看到我一直看到人们在Windows上提到这些问题,如果在运行R脚本之前执行以下操作,它应该自动解决问题,而不需要在此帖子中执行任何其他操作: library(RCurl) options(RCurlOptions = list(cainfo = system.file("CurlSSL","cacert.pem",package = "RCurl"))) 这将全局设置选项,并将用于所有RCurl调用. 我将留下以下帖子的其余部分以供参考. 注意:这不是一个直接的解决方案,但对于评论或#rstats推文也太长了…… 读取输出,问题似乎是cURL(因此包RCurl).我可以使用RCurl_1.6-10在使用R2.14.0的Windows 7 x64 Pro上发生的不同应用程序重新创建相同的错误: library(RCurl) u <- "https://raw.github.com/tonybreyal/Blog-Reference-Functions/master/R/bingSearchXScraper/bingSearchXScraper." x <- getURL(u) #Error in curlPerform(curl = curl,.opts = opts,.encoding = .encoding) : # SSL certificate problem,verify that the CA cert is OK. Details: #error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 错误代码是相同的.在您的情况下,这意味着Twitter正在向您发送证书,告诉您它们是真正的Twitter网站.但你怎么知道他们说实话?在您的系统的某个位置,您需要有一个可以确认它的文件,从受信任的来源获取. 一个解决方案是获取该文件如下解决问题(注意,还有其他网站提供此类文件,我使用官方cURL网站): download.file(url="http://curl.haxx.se/ca/cacert.pem",destfile="cacert.pem") x <- getURL(u,cainfo = "cacert.pem") 我没有看过ROAuth的内部(任何用S3 / S4 / Reference-classes编写的东西吓到我了)但在某些时候它需要设置cainfo参数来克服这个问题(在Windows上是 – 在上面的例子中,似乎在Ubuntu上运行正常).我不知道ROAuth是否允许用户以某种方式添加这些卷曲参数,但这将是解决它的方法. 希望有所帮助. Tony Breyal 附:另一种方法是可行的,并避免从cURL下载证书,但不推荐你正在做的事情类型(严重的是,为了你使用twitter的目的,我建议不要这么大的时间): x <- getURL(u,ssl.verifypeer = FALSE) 更新2011: 这似乎适用于跨平台(嗯,Ubuntu和Windows无论如何),并且不需要您直接下载SSL证书,因为RCurl已经带有它们: x <- getURL(u,cainfo = system.file("CurlSSL",package = "RCurl")) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows – 如何使用Delphi从文件扩展名获取图标和描述?
- Windows Phone开发使用wpf?
- windows – 是否可以运行无人值守的chkdsk?
- windows – 禁用EFS – 如果有任何加密文件该怎么办?
- 使用Windows容器而不是Linux容器的优点和缺点?
- Win10系统BitLocker解锁后再次快速锁定办法
- xaml – 如何更改Windows Phone 7中进度指示器的颜色
- windows 平台使用 VS2017 编译 libevent 源码
- windows – 每个NIC多个IP地址
- windows-server-2008 – Windows Server 2008上的管理工具中