I have basic authentatication working with REST API using curl:
curl -X POST -H \'Accept: application/json\' -u user:password http://localhost/test/
This is the code I use to download pages from Confluence as HTML files.
$pageid = "176398584" ;
$url = "http://wikiserver/wiki/pages/viewpage.action?pageId=$pageid" ;
write-host "Establish credentials" ;
$r = Invoke-WebRequest "http://wikiserver/wiki/pages/login.action" -SessionVariable my_session ;
# $r ;
$form = $r.Forms[1];
# $form ;
# $c = $host.UI.PromptForCredential('Your Credentials', 'Enter Credentials', '', '') ;
# $form.fields['os_username'] = $c.UserName ;
# $form.fields['os_password'] = $c.GetNetworkCredential().Password ;
$form.fields['os_username'] = "mywikirobotlogonname" ;
$form.fields['os_password'] = "mywikirobotpassword" ;
$form.fields['os_cookie'] = "true" ;
$form.fields['os_destination'] = "%2Fpages%2Fviewpage.action%3FpageId%3D$pageid" ;
$outputFile = "$pageid.html" ;
$content = Invoke-WebRequest -Uri ($url + $form.Action) -WebSession $my_session -Method POST -Body $form.Fields ;
$content.ParsedHTML.getElementById("content").innerHTML | Add-Content $outputFile
The host UI Prompted can be used to ask the user to enter their logon information.
Uncomment a variable to display to the system output the contents of the form, the retrieved page, etc to troubleshoot- $r $form $content