我正在尝试使用 RCurl 从 R 访问 Web 服务。 Web 服务使用 Kerberos 身份验证。
在命令行上使用 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
,但这也失败了。
最佳答案
使用 httr ,
httr::GET(ReportsProdURL,
authenticate(":", "", type="gssnegotiate"))
如果内部网站不需要代理,那么
httr::GET(ReportsProdURL,
use_proxy(""),
authenticate(":", "", type="gssnegotiate"))
关于R 协商身份验证(使用 RCurl 或 Httr),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26255964/