如何使用Invoke-WebRequest将凭据发布到提示窗口

时间:2016-03-16 19:12:26

标签: html powershell login web-scraping prompt

我正在尝试构建一个PowerShell脚本,该脚本登录到站点并下载文件。但是,该网站没有像大多数网站一样的表单中的用户名/密码字段。导航到该站点时,它会立即打开一个提示符,如下所示:

Authentication Required Prompt

我的问题是如何发送Invoke-WebRequest来发布用户名和密码并登录该站点。传统上,我一直在通过ID属性找到用户名和密码并设置它们的值,但是这个提示是不可能的。有任何想法吗?感谢

1 个答案:

答案 0 :(得分:2)

Invoke-WebRequest采用-Credential对象。

您可以执行以下操作:

$cred = Get-Credential
Invoke-WebRequest -Uri 'https://mysite' -Credential $cred

或者如果您想在变量中输入密码(不可见),您可以:

$user = "user"
$pass = "password"
$securepasswd = ConvertTo-SecureString $pass -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($user, $securepasswd)

Invoke-WebRequest -Uri 'https://mysite' -Credential $cred