簡體   English   中英

Powershell - 增加從URL檢索XML的超時時間

[英]Powershell - Increase the timeout for retrieving XML from a URL

我正在嘗試從URL檢索XML流。 對於大多數網址,我的代碼工作正常。 但是,我有幾個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()

我正在嘗試訪問的網址是我公司的內部網址,因此我無法發布這些網址。 但是,它們確實在IE中工作,實際的URL應該是無關緊要的。

想法?

編輯:初步測試顯示添加$myHttpWebRequest.AuthenticationLevel = "None"有效。 謝謝Scott Saad。

默認情況下, WebRequest.AuthenticationLevel設置為MutualAuthRequested ,因此它將等待某種類型的身份驗證響應。 因此,在等待身份驗證發生時可能會超出超時。 看起來你沒有弄亂憑證,所以除非你需要身份驗證,否則你可能不會需要這個。 創建WebRequest后嘗試以下內容:

$myHttpWebRequest.AuthenticationLevel = "None"

我希望這有助於解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM