Powershell-增加从URL检索XML的超时时间

Powershell-增加从URL检索XML的超时时间,powershell,Powershell,我正在尝试从URL检索XML流。对于大多数URL,我下面的代码运行良好。但是,我有几个URL超时。有问题的URL确实可以通过Internet Explorer工作 $webclient=New-Object "System.Net.WebClient" [xml]$data=$webclient.DownloadString($url) 因此,我开始寻找一种增加超时时间的方法。从我所读到的内容来看,我相信我无法使用System.Net.WebClient来实现这一点。我想我需要改用System

我正在尝试从URL检索XML流。对于大多数URL,我下面的代码运行良好。但是,我有几个URL超时。有问题的URL确实可以通过Internet Explorer工作

$webclient=New-Object "System.Net.WebClient"
[xml]$data=$webclient.DownloadString($url)
因此,我开始寻找一种增加超时时间的方法。从我所读到的内容来看,我相信我无法使用
System.Net.WebClient
来实现这一点。我想我需要改用
System.Net.WebRequest
,但我无法让它工作。我一直在研究的代码如下:

$myHttpWebRequest = [system.net.WebRequest]::Create($url)
$myHttpWebRequest.Timeout = 600000
$myHttpWebResponse = $myHttpWebRequest.GetResponse()
$sr = New-Object System.IO.StreamReader($response.GetResponseStream())
[xml]$xml = [xml]$sr.ReadToEnd()
我试图访问的URL是我公司内部的,所以我不能发布它们。但是,它们确实在IE中工作,实际的URL应该是无关的

想法


编辑:初步测试表明添加
$myHttpWebRequest.AuthenticationLevel=“None”
有效。感谢Scott Saad。

默认情况下,WebRequest.AuthenticationLevel设置为MutualAuthRequested,因此它将等待某种类型的身份验证响应。因此,在等待身份验证发生时,可能会超过超时时间。看起来您并没有弄乱凭证,所以除非您需要身份验证,否则您可能不需要这个。创建网络请求后,请尝试以下操作:

$myHttpWebRequest.AuthenticationLevel = "None"
我希望这有助于解决问题