我正在尝试使用R来使用httr GET访问我们组织中的网页。
但是我收到一条消息“由于凭据无效而导致访问被拒绝”。 我可以手动执行所需的操作。 当我使用Internet Explorer访问网站时似乎授权是自动完成的,但是当尝试通过R执行相同的操作时访问被阻止。
这就是我试图这样做的方式: (我无法提供确切的地址,因为它是一个内部网地址,只能在组织内部使用相同的代理地址)
library(httr)
r <- GET(myurl, useproxy(myproxyid, 80), verbose())
-> GET http: //myurl
-> host: xxx
-> User-Agent : libcurl...
-> Accept-Encoding: gzip, deflate
-> Proxy-Connection: Keep-Alive
-> Accept: application/json, text/xml, application/xml, *.*
<- HTTP/1.1 401 Unauthorized
<- Content-Type: text/html
<- Server: Microsoft-IIS/8.5
<- WWW-Authenticate: Negotiate
<- WWW-Authenticate: NTLM
<- X-Powered-By: ASP.NET
r
Response [myurl]
Date
Status: 401
...
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
....
我知道我不得不根据我的要求发送我的凭据。 有可能以某种方式使用自动身份验证吗?
由于 圣拉斐尔
答案 0 :(得分:1)
好的
我终于成功了。
我必须向我的get命令提供身份验证数据,如下所示:
library(httr)
r <- GET(myurl,
useproxy(myproxyid, 80),
verbose(),
authenticate(user = "myuserid", password = "mypassword", type = "ntlm"))
我希望它可以帮助任何人
由于
圣拉斐尔