powershell http post REST API basic authentication

后端 未结 4 565
甜味超标
甜味超标 2020-12-13 20:17

I have basic authentatication working with REST API using curl:

curl -X POST  -H \'Accept: application/json\' -u user:password http://localhost/test/
         


        
4条回答
  •  半阙折子戏
    2020-12-13 20:43

    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

提交回复
热议问题