PowerShell使用凭据进行Web请求

时间:2014-07-21 20:32:41

标签: authentication powershell webclient

我正在尝试访问其上包含Windows安全性的网站:enter image description here

所以我引用了this post并编写了以下代码:

$web = New-Object Net.WebClient
$web.Credentials = new-object System.Net.NetworkCredential($username, $password, $domain)
$content = $web.DownloadString("https://my.url")

但是我在添加凭据之前仍然遇到了同样的错误:"The remote server returned an error: (401) Unauthorized."然后我引用了this post,但我认为在这种情况下不适用基本身份验证。我已多次验证用户名,密码和域名。是否有其他常用的解决方案用于通过身份验证进行Web请求?

1 个答案:

答案 0 :(得分:4)

不确定您使用的PowerShell版本,但如果您使用的是PowerShell3.0或更高版本,则可以使用 Invoke-WebRequest CommandLet 如下所示

$username = "domain_name\user_name"
$password = "mypassword" | ConvertTo-SecureString -asPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($username,$password)

$res = Invoke-WebRequest https://my.url -Credential $cred