2014-10-08 4 views
2

Я пытаюсь получить доступ к веб-службе из R с помощью RCurl. Веб-служба использует аутентификацию Kerberos.R согласовать аутентификацию (с RCurl или Httr)

Тестирование с использованием curl на командной строке работает нормально, например.

curl --negotiate -u: http://reuxeuls199:8084/reports-ws/api/r/1.0/vesselTracking?region-name=ECC&start-date-time=01/10/2014 

Однако в R я не могу заставить его работать.

ReportsProdURL <- "http://reuxeuls199:8084/reports-ws/api/r/1.0/vesselTracking?region- name=ECC&start-date-time=01/10/2014" 
URL <- getURL(ReportsProdURL, verbose=TRUE, .opts=curlOptions(username=":")) 

Я также попытался с помощью httpauth вариант установлен в gssnegotiate, но это не помогает также.

+0

Что делает результат использования опции 'verbose' (которую вы используете)? – hrbrmstr

+0

Что происходит на консоли? Как он получает ваше имя пользователя и пароль? – hadley

ответ

0

я не нашел, как это сделать с RCurl, но с httr вы можете использовать

GET("https://host.domain/",authenticate("username","password","gssnegotiate")) 

В случае, если вы используете самостоятельно подписанный сертификат вы can run the command

set_config(config(ssl.verifypeer = 0L)) 

Чтобы отключить проверку сертификата для базовой библиотеки libcurl

1

С RCurl, для ПЕРЕГОВОРОВ, используйте это:

getURL("https://yourAddress", userpwd=":", httpauth = 4) 

Число 4 ist основано на битовой маске констант, определенной в curl.h. Действительные параметры определены here.