使用httr get

时间:2017-08-14 09:26:27

标签: r httr

我正在尝试使用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>

....

我知道我不得不根据我的要求发送我的凭据。 有可能以某种方式使用自动身份验证吗?

由于 圣拉斐尔

1 个答案:

答案 0 :(得分:1)

好的

我终于成功了。

我必须向我的get命令提供身份验证数据,如下所示:

library(httr)
r <- GET(myurl, 
         useproxy(myproxyid, 80), 
         verbose(), 
         authenticate(user = "myuserid", password = "mypassword", type = "ntlm"))

我希望它可以帮助任何人

由于

圣拉斐尔