使用由RCurl代理引起的twitteR的JSON错误

时间:2013-05-22 14:25:30

标签: json r twitter rcurl twitter-r

我正在尝试将twitteR的searchTwitter()函数与curl代理一起使用,但我收到了与JSON相关的错误。我看到很多人都遇到了同样的JSON错误。但我相信我的事业是不同的,所以我会在我的问题中尝试具体。

我已经使用Twitter的API正确设置了OAuth连接。我在Windows上,使用最新版本的R和所有软件包。我使用代理是因为我公司的防火墙。我正在使用RCurlOptions来配置代理。我还带了RJSONIO。当我不需要配置代理时,代码在我公司的防火墙之外运行良好。

library(RCurl)
library(twitteR)
library(RJSONIO)

options(RCurlOptions = list(
    proxy ="proxy.mycompany.net:8080",
    proxyuserpwd="USERNAME:PASSWORD",
    cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

load("OAuth.RData") #Load in my OAuth credentials object
registerTwitterOAuth(cred)

geico.tweets <- searchTwitter('@geico', n = 2)

这是我得到的错误:

Error in twFromJSON(out) : 
  Error: Malformed response from server, was not JSON.

我知道这不是Twitter返回R无法正确解析的字符的问题,因为我甚至无法引入任何单个推文(另外,它在防火墙之外工作正常)。

此链接表明它可能是由于我使用RCurl引起的:https://github.com/omegahat/RCurl/issues/1

他的解释是因为我使用了RCurl而导致JSON搞砸了。 \\\转换为R_mapString,只有在数据包含Unicode字符时才会调用.mapUnicode。这跟我的理解差不多。他还提到RCurlOptions论证。

{{1}}中是否有一些参数可配置以解决此问题?感谢。

0 个答案:

没有答案