Как пройти ssl_verifypeer в Rvest?

Я пытаюсь использовать Rvest для очистки таблицы с внутренней веб-страницы здесь, в $JOB. Я использовал методы, перечисленные здесь чтобы получить xpath и т.д.

Мой код довольно прост:

library(httr)
library(rvest)
un = "username"; pw = "password"

thexpath <- "//*[@id="theFormOnThePage"]/fieldset/table"    

url1 <- "https://biglonghairyURL.do?blah=yadda"

stuff1 <- read_html(url1, authenticate(un, pw))

Это приводит к ошибке: "Сертификат узла не может быть аутентифицирован с указанными сертификатами ЦС".

Если оставить в стороне неактуальность сертификатов, я вижу, что можно использовать httr, чтобы избежать проверки SSL с помощью set_config(config(ssl_verifypeer = 0L)).

Это работает просто великолепно, если я использую GET(url1) из httr, но весь смысл в том, чтобы автоматизировать очистку таблицы с помощью rvest.

Глядя на PDF-файлы для Rvest и httr, кажется, что Rvest вызывает httr для передачи команд curl, и что в httr можно использовать config().

Итак, чтобы завершить силлогизм, как я могу (или вообще возможно?) передать ssl_verifypeer = 0L напрямую через rvest::read_html?

Я пробовал довольно много вариантов:

stuff1 <- read_html(url1, authenticate(un, pw), ssl_verifypeer = 0L)) 
stuff1 <- read_html(url1, authenticate(un, pw), config(ssl_verifypeer = 0L))) 
stuff1 <- with_config(config = config(ssl_verifypeer = 0L), read_html(url1, authenticate(un, pw)))

И все они выдают одну и ту же ошибку "Сертификат узла не может быть аутентифицирован с указанными сертификатами ЦС".

Надеюсь, это возможно, и я просто не составляю правильный синтаксис?

Кто-то предложил использовать RSelenium, но, поскольку он находится на защищенной виртуальной машине, установка java и / или новых пакетов требует акта Конгресса (вместе с подписанием VP) и будет моим последним средством.

Я очень ценю любые советы по этому поводу.


person ClintWeathers    schedule 31.12.2015    source источник
comment
Почему бы не read_html(content(GET(…), as="text") (при условии, что ssl-проверка однорангового узла работает с GET)? Это законный способ передачи HTML в read_html и все еще очень удобный для сценариев.   -  person hrbrmstr    schedule 01.01.2016
comment
hrbrmstr, это ответ. Если вы это устроите, я закрою это.   -  person ClintWeathers    schedule 12.01.2016