Description
The get request in the velocity code block does not pass given basic authentication credentials into request.
Neither passing them with
getURLContent("https://website.com", "lrlunin", "Pa$$w0rd")
nor with
getURLContent("https://lrlunin:Pa$$w0rd@website.com")
I used app.beeceptor.com to discover the oncoming request headers and got this:
{ "user-agent": "XWikiBot/1.0", "x-forwarded-for": "62.141.173.204", "x-forwarded-host": "xwiki.free.beeceptor.com", "x-forwarded-proto": "https", "accept-encoding": "gzip" }
while the same request done with postman/curl got this:
{ "user-agent": "PostmanRuntime/7.33.0", "accept": "*/*", "accept-encoding": "gzip, deflate, br", "authorization": "Basic HJsdW5pbjpnaHBfeDRlWWlDQddVVJoZUxoWVhueDZtb1JVOTI1MzBEZXF1", "postman-token": "33c2dffd-a559-4e0b-aa5b-69f1964a8535", "x-forwarded-for": "89.247.251.102", "x-forwarded-host": "xwiki.free.beeceptor.com", "x-forwarded-proto": "https" }
So I am pretty sure that the Apache HttpClient ignores the credentials given. I found some similar issues:
- https://stackoverflow.com/questions/18108783/apache-httpclient-doesnt-set-basic-authentication-credentials
- https://stackoverflow.com/questions/2014700/preemptive-basic-authentication-with-apache-httpclient-4