Я собираюсь написать сборник свободно загружаемых R-скриптов для http://asdfree.com/, чтобы помочь людям проанализировать сложный выборочный опрос данные, размещенные служба данных Великобритании. Помимо предоставления множества статистических руководств для этих наборов данных, я также хочу автоматизировать загрузку и импорт данных опроса. Для этого мне нужно выяснить, как программно войти в этот веб-сайт служб данных Великобритании.
Я пробовал много разных конфигураций RCurl и httr, чтобы войти в систему, но я где-то делаю ошибку, и я застрял. Я попытался проверить элементы как указано в этом сообщении, но веб-сайты слишком быстро перескакивают в браузере, чтобы я понял, что происходит.
Этот веб-сайт требует логина и пароля, но я считаю, что делаю ошибку, прежде чем я даже попаду на страницу входа.
Здесь, как работает веб-сайт:
Стартовая страница должна быть: https://www.esds.ac.uk/secure/UKDSRegister_start.asp
Эта страница автоматически перенаправит ваш веб-браузер на длинный URL-адрес, который начинается с: https://wayf.ukfederation.org.uk/DS002/uk.ds?[blahblahblah]
(1) По какой-то причине сертификат SSL не работает на этом веб-сайте. Здесь вопрос SO, который я опубликовал относительно этого. Обходной путь, который я использовал, просто игнорирует SSL:
library(httr)
set_config( config( ssl.verifypeer = 0L ) )
а затем моя первая команда на стартовом веб-сайте:
z <- GET( "https://www.esds.ac.uk/secure/UKDSRegister_start.asp" )
это возвращает мне z$url
, который очень похож на страницу https://wayf.ukfederation.org.uk/DS002/uk.ds?[blahblahblah]
, к которой перенаправляет мой браузер.
В браузере вы должны ввести "архив данных uk" и нажать кнопку continue
. Когда я это сделаю, он перенаправляет меня на веб-страницу https://shib.data-archive.ac.uk/idp/Authn/UserPassword
Я думаю, что это то место, где я застрял, потому что я не могу понять, как иметь cURL followlocation
и приземляться на этом сайте. Примечание: имя пользователя/пароль еще не введено.
Когда я использую команду httr GET
на странице wayf.ukfederation.org.uk следующим образом:
y <- GET( z$url , query = list( combobox = "https://shib.data-archive.ac.uk/shibboleth-idp" ) )
строка y$url
очень похожа на z$url
(за исключением того, что она получила combobox = в конце). Есть ли способ пройти эту страницу аутентификации uk data archive
с помощью RCurl или httr?
Я не могу сказать, что я просто что-то пропускаю или если я абсолютно должен использовать сертификат SSL, описанный в мой предыдущий SO сообщение или что?
(2) В тот момент, когда я перехожу к этой странице, я считаю, что остальная часть кода будет следующей:
values <- list( j_username = "your.username" ,
j_password = "your.password" )
POST( "https://shib.data-archive.ac.uk/idp/Authn/UserPassword" , body = values)
Но я думаю, что страница будет ждать...