【问题标题】:R TwitteR : couldn't connect to hostR TwitteR:无法连接到主机
【发布时间】:2014-12-03 19:46:13
【问题描述】:

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

我尝试了几种方法,例如:

  • Sys.setenv(http_proxy="XXXXXXXXXXXXXXX")
  • 选项(shinyapps.http = “内部”)
  • $options(RCurlOptions = list(proxy = "XXXXXXXXXXXXXXXXX")
  • h

但似乎没有任何效果,你知道我可以做些什么来让它工作吗?

提前致谢。代码:

#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")

【问题讨论】:

    标签: r twitter


    【解决方案1】:

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

    非常感谢!

    脚本:

    ###########################################################
    #
    # 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 
    ); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-31
      • 2016-04-03
      • 2014-05-01
      • 2015-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多