获取连接中的R超时错误,而天气预报

问题描述 投票:2回答:2

我有几个地理编码地址中的R,但得到一个“超时达到:连接后10000毫秒超时”的错误。我非常想使用代理,以及,但仍得到相同的错误办公室防火墙后面。

这工作时,我用源为“DSK”,但它并没有大多数地理编码的地址的,因此要使用“谷歌”的来源。

下面是一块的,我使用的代码。

library(ggmap)
library(curl)

register_google(key = "Have_Entered_My_API_Key_Here")

#Used below code to use proxy...(saw it as a solution in stackoverflow only for working behind firewall..maybe I'm not doing it the correct way?)
library(httr)
set_config(use_proxy(url="10.3.100.207",port=8080))

origAddress <- read.csv("Data_for_Geocoding.csv",header = TRUE,sep = ",",stringsAsFactors = FALSE)

for(i in 1:nrow(origAddress))
{

  result <- geocode(origAddress$Add_to_GeoCode[i], output = "latlona", source = "google",sensor = TRUE)
  origAddress$LONGITUDE[i] <- as.numeric(result[1])
  origAddress$LATITUDE[i] <- as.numeric(result[2])
  # origAddress$ <- as.character(result[3])
}

我得到下面的错误,当我运行这段代码。 “错误的卷曲:: curl_fetch_memory(URL,手柄=手柄):超时达到:连接后10000毫秒超时”

我有成千上万,我需要进行地理编码等会很感激,如果有人可以帮助这里的地址。

r geocoding google-geocoder reverse-geocoding google-geocoding-api
2个回答
0
投票

花费几乎整天的时间后,我很高兴,我能解开这个问题:)因此发布了答案。 如果你得到一个连接超时错误,因为我已经在上面列出,你应该检查的第一件事是,如果你是在防火墙后面(如果你正在做这个工作在办公室里,最有可能的防火墙访问谷歌的API拦截你。在家里,你可以简单地关掉防火墙)。显然,当你是一个防火墙后面的下面的代码是你需要进行地理编码,甚至访问谷歌的API是什么。

library(httr)
set_config(
use_proxy(url="Proxy_Add_Here", port=8080, username="username_here",password="password_here")
)

确保您的地理编码代码前添加以下代码。

注:请注意,谷歌地图API是不是免费服务。有40000部电话每月地理编码API免费津贴(尽管每天最大的要求是在2500为上限),除此之外电话是每个$ 0.005

PS:请按照下面的步骤,如果你不知道你的代理添加.... 打开Internet Explorer - >工具 - > Internet选项 - >连接 - >局域网设置 用户名和密码只有你的Windows凭据


0
投票

我得到了同样的问题,你,我reslovedit通过下面的代码:

library(httr)
set_config(
  use_proxy(url="127.0.0.1", port=1080)
)
httr::GET("www.google.com")  # if it returns status like 200 ,problem has been resloved

如果返回像200的状态,问题已经解决

© www.soinside.com 2019 - 2024. All rights reserved.