2013-10-28 3 views
1

Я пытаюсь написать сценарий, который отображает список URL-адресов и возвращает вектор, указывающий, вверх или нет каждый веб-сайт (TRUE или FALSE).Увеличьте максимальные переадресации, разрешенные в RCURL

Проблема в том, что функция url.exists() из пакета RCurl возвращает ошибку (т. Е. FALSE) для кодов статуса перенаправления в диапазоне 300, которые на самом деле не являются ошибками (по крайней мере, это касается меня). Эта проблема была идентифицирована в another question.

Для решения этой проблемы, я использую функцию url_success из пакета httr.

Однако, это приводит другую ошибку, когда я запускаю его на некоторых веб-сайтах, например:

> url_success(site_list[621])

Error in function (type, msg, asError = TRUE) :

Maximum (10) redirects followed

Есть ли способ изменить максимальные переадресовывает допустимые от RCurl?

Или есть альтернативный способ приблизиться к моей проблеме вообще?

ответ

0

В RCurl, попробовать что-то вроде:

url.exists(url, maxredirs=-1) 
+0

Привет, я попытался это, но он не работает. Есть ли способ указать тайм-аут для 'url.exists'? Кажется, я ничего не могу найти. – timothyjgraham

+0

@timothyjgraham В принципе, все опции RCurl являются прямыми переводами опций libcurl. Посмотрите, есть ли что-то, что выглядит подходящим: http://curl.haxx.se/libcurl/c/curl_easy_setopt.html – Thomas

+0

Спасибо, я посмотрел варианты libcurl. Однако параметр тайм-аута, кажется, игнорируется ??? Я не уверен, что я получаю синтаксис неправильно? 'url.exists (" www.badURLxyz101.com ",. opts = list (timeout (5))' – timothyjgraham