繁体   English   中英

R TwitteR:无法连接到主机

[英]R TwitteR : couldn't connect to host

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

我已经尝试过几种方法,例如:

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

但是似乎没有任何效果,您是否知道我可以做些什么?

在此先感谢。代码:

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

感谢您的答复。 我已经有了github的库和proxy选项集。 我缺少的是脚本中的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 
); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM