Search code examples
rcurlpostweb-scrapinghttr

HTTP POST using httr in R


I am trying to adapt my curl request from running it in Terminal to R. For this I am using the httr package. My request is as follows and works from Terminal

curl -u user@email.com:password -H "Content-Type:application/json" -X POST "https://catalogue.onda-dias.eu/dias-catalogue/Products(48809a01-71bc-4669-8639-f0528abcdafe)/Ens.Order"

My attempt to use httr POST function is as follows:

pars <- list(username='user@email.com', password='password')

res<-POST("https://catalogue.onda-dias.eu/dias-catalogue/Products(48809a01-71bc-4669-8639-f0528abcdafe)/Ens.Order", body = pars, add_headers('Content-Type'='application/json'))

I am getting a 401 error code. Do you know how should I properly convert my request?


Solution

  • Try using httr:authenticate

    require(httr)
    
    headers = c('Content-Type' = 'application/json')
    
    r <- httr::POST(  url = 'https://catalogue.onda-dias.eu/dias-catalogue/Products(48809a01-71bc-4669-8639-f0528abcdafe)/Ens.Order'
                      , httr::add_headers(.headers=headers)
                      , httr::authenticate('user@email.com', 'password'))