R TwitteR:无法连接到主机

时间:2014-12-03 19:46:13

标签: r twitter

当我连接到我的VPN时,我正在尝试使用TwitteR API下载一些推文,但问题是我在握手时一直无法连接到主机错误。

我尝试了几件事:

  • Sys.setenv(HTTP_PROXY = “XXXXXXXXXXXXXXX”)
  • options(shinyapps.http =“internal”)
  • $ options(RCurlOptions = list(proxy =“XXXXXXXXXXXXXXXXX”)
  • h< - getCurlHandle( proxy =“XXXXXX”, proxyport = XXX,cainfo =“cacert.pem”)

但似乎没有任何效果,你知道我能做些什么才能让它发挥作用吗?

感谢Advance.Code:

#Use below libraries:
require(twitteR)  #twitteR Lib
require(httr)     #httr Lib
require(ROAuth)

#Not Working
#Set Proxy so we can crawl twitter while connected to VPN
#Sys.setenv(http_proxy="XXXXXXXXXXXXXXX")
#options(shinyapps.http = "internal")
#$options(RCurlOptions = list(proxy = "XXXXXXXXXXXXXXXXX")
#h <- getCurlHandle(
#proxy         = "XXXXXX", 
#proxyport     = XXX,     cainfo = "cacert.pem")


l_consKey     <- "XXXXXXXXXXXXXXX";
l_consSecret  <- "XXXXXXXXXXXXXXX";

l_reqURL    <- "https://api.twitter.com/oauth/request_token"
l_accessURL <- "https://api.twitter.com/oauth/access_token"
l_authURL <- "https://api.twitter.com/oauth/authorize"

#Download cacert.pm file
download.file( url = "http://curl.haxx.se/ca/cacert.pem", destfile = "cacert.pem");

#Manage OAuth Authentication
twitCredentials <- OAuthFactory$new( consumerKey    = l_consKey
                                   , consumerSecret = l_consSecret
                                   , requestURL     = l_reqURL
                                   , accessURL      = l_accessURL
                                   , authURL        = l_authURL
                                   )
#Handshake
twitCredentials$handshake(cainfo="cacert.pem")

1 个答案:

答案 0 :(得分:1)

感谢您的回复。我已经拥有了github的库和代理选项集。我缺少的是我的脚本中的setconfig选项:

谢谢a'lot!

脚本:

###########################################################
#
# Libraries
#
###########################################################

library(twitteR);  # Twitter API
library(httr);     # httr library to set proxy options

###########################################################
#
# Variables
#
###########################################################

#Twitter API 
l_consKey     <-  yourConsumerKeyHere;
l_consSecret  <-  yourConsumerSecret;
l_token       <-  yourConsumerAccessToken;
l_tokenSecret <-  yourConsumerAccessTokenSecret;

#httr 
l_proxyUrl    <-  yourProxyUrl
l_proxyPort   <-  yourProxyPortNumber  


###########################################################
#
# Body
#
###########################################################


# Set proxy options
set_config( use_proxy( url  = l_proxyUrl
                     , port = l_proxyPort
                     )
          );

#OAuth authentication
setup_twitter_oauth( consumer_key     = l_consKey
                   , consumer_secret  = l_consSecret 
                   , access_token     = l_token
                   , access_secret    = l_tokenSecret 
);