2017-08-14 1 views
0

J'essaie d'utiliser R pour accéder à une page Web dans notre organisation en utilisant httr GET.Obtenir l'erreur 401 lors de l'utilisation de httr get

Cependant, je reçois un message indiquant que "l'accès est refusé en raison d'informations d'identification non valides". Je peux effectuer l'action souhaitée manuellement. il semble que l'autorisation se fait automatiquement quand j'utiliser Internet Explorer pour accéder au site Web, mais l'accès est bloqué en essayant de faire la même action par R.

Voici comment je suis en train de le faire: (Je ne peux pas fournir l'adresse exacte, car il est une adresse intranet qui peut être utilisé qu'à l'intérieur de l'organisation même pour l'adresse proxy)

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> 

.... 

Je comprends que j'ai en quelque sorte d'envoyer mes lettres de créance à ma demande. est-il possible d'utiliser l'authentification automatique?

Merci Rafael

Répondre

1

OK

j'ai finalement fait.

je devais fournir des données d'authentification à ma commande get comme ceci:

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

J'espère que cela aide quiconque

Merci

Rafael