【问题标题】:How to post credentials to prompt window with Invoke-WebRequest如何使用 Invoke-WebRequest 将凭据发布到提示窗口
【发布时间】:2016-03-16 19:12:26
【问题描述】:
我正在尝试构建一个登录到站点并下载文件的 PowerShell 脚本。但是,与大多数站点一样,该站点在表单中没有用户名/密码字段。导航到该站点时,它会立即打开一个提示,如下所示:
Authentication Required Prompt
我的问题是如何发送 Invoke-WebRequest 来发布用户名和密码并登录到该站点。传统上,我一直通过 ID 属性查找用户名和密码并设置它们的值,但使用此提示是不可能的。有任何想法吗?谢谢
【问题讨论】:
标签:
html
powershell
login
web-scraping
prompt
【解决方案1】:
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