[英]powershell downloading xml from url - added unix timestamp to url
[英]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.