代码之家  ›  专栏  ›  技术社区  ›  aphoria

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

  •  9
  • aphoria  · 技术社区  · 16 年前

    从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"

    1 回复  |  直到 13 年前
        1
  •  6
  •   Scott Saad    16 年前

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

    $myHttpWebRequest.AuthenticationLevel = "None"