PowerShell v3 Invoke-WebRequest: Troubles with forms

妖精的绣舞 提交于 2019-11-30 17:32:37

Try doing the post directly e.g.:

$formFields = @{username='john doe';password='123'}
Invoke-WebRequest -Uri $myUrl -Method Post -Body $formFields -ContentType "application/x-www-form-urlencoded"

To address your problem with the unsigned/untrusted certificate, add the line

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

before the Invoke-WebRequest statement

The example in the question works, but you have to use rb and not $rb in the first line:

$response = Invoke-WebRequest -Uri $myUrl -Method Default -SessionVariable rb

I also had to use ($myUrl + '/login') since this is my login address.

$response = Invoke-WebRequest -Uri ($myUrl + '/login') -Method Default -SessionVariable rb

And in the last line used ($myUrl + $form.Action):

$response = Invoke-WebRequest -Uri ($myUrl + $form.Action) -WebSession $rb -Method POST
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!