【发布时间】:2014-05-01 18:20:34
【问题描述】:
我正在尝试从外部 HTTPS 站点检索文件。我下面的代码在 POSH 3.0 中很有效,但在 POSH 4.0 中却没有那么多。我收到的消息如下。任何人都遇到同样的问题,知道如何解决这个问题或解决方法吗?
调用-WebRequest :
需要身份验证。
您必须通过身份验证才能访问此 URL。
网址:https://www.mywebsite.com
用户名:
在 line:4 char:1
+ 调用 WebRequest -Uri https://www.mywebsite.com/report.pdf ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
$pw = ConvertTo-Securestring -AsPlainText -Force -String "myPWD"
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ("myUser",$pw)
Invoke-WebRequest -Uri https://www.mywebsite.com/report.pdf -Credential $cred -OutFile C:\report.pdf
【问题讨论】:
-
是的,凭据是正确的。我可以从我的浏览器访问该网站。 :)
-
如果你使用 -Debug 运行,你会得到任何额外的线索吗?
-
不幸的是完全相同的结果。
-
这篇文章表明 V3 或 V4 中的行为应该相同。有没有人得到类似的结果? stackoverflow.com/questions/21554993/…
-
下载 Fiddler 并检查使用 v3 和 v4 之间的 RAW 请求,看看是否能发现任何差异。
标签: powershell