Например:Почему url.exists возвращает FALSE, когда URL-адрес существует с помощью RCURL?
if(url.exists("http://www.google.com")) {
# Two ways to submit a query to google. Searching for RCurl
getURL("http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&q=RCurl&btnG=Search")
# Here we let getForm do the hard work of combining the names and values.
getForm("http://www.google.com/search", hl="en", lr="",ie="ISO-8859-1", q="RCurl", btnG="Search")
# And here if we already have the parameters as a list/vector.
getForm("http://www.google.com/search", .params = c(hl="en", lr="", ie="ISO-8859-1", q="RCurl", btnG="Search"))
}
Это пример из RCurl пакета руководства. Тем не менее, он не работает:
> url.exists("http://www.google.com")
[1] FALSE
Я нашел там ответ на это здесь Rcurl: url.exists returns false when url does exists. Он сказал, что это из-за пользовательского агента по умолчанию, не полезно. Но я не понимаю, что такое агент пользователя и как его использовать.
Кроме того, эта ошибка произошла, когда я работал в своей компании. Я попробовал один и тот же код дома, и он нашел работу. Поэтому я предполагаю, что это связано с прокси-сервером. Или есть другие причины, которые я не понимал.
Мне нужно использовать RCURL для поиска моих запросов от Google, а затем извлечь информацию, такую как название и описания с веб-сайта. В этом случае, как использовать агент пользователя? Или пакет httr может сделать это?
Я не могу воспроизвести эту проблему. 'url.exists (" http://www.google.com ") [1] TRUE' Ваша проблема не связана с пользовательским агентом. Эта проблема была специфична для сервера в этом вопросе и, конечно же, не относится к Google.com. Когда вы находитесь на компьютере, который не может связаться с Google через R, вы находитесь в сети компании? Вероятно, вам нужно направлять запросы R через прокси-сервер компании или VPN. –
Да, это то, что я думаю. Я думаю, что не могу использовать это, потому что я использую сеть компании. Итак, не могли бы вы рассказать мне, как это сделать через прокси-сервер компании или VPN? Я знаю, что в RCurl есть параметр, называемый прокси. Я просто не знаю, как настроить. –
Это зависит от вашей операционной системы, если это прокси или VPN, и от конкретной конфигурации. Вероятно, проще всего обратиться в службу технической поддержки вашей компании, если вы не знаете, что это было сделано. Вы можете * использовать эту опцию, но, вероятно, это было бы лучше, и может потребоваться прокси-туннель для всех R или RStudio, а не только для этой функции. –