Я пытаюсь получить поток XML из URL. Для большинства URL мой код ниже работает нормально. Но у меня есть пара URL-адресов на этот тайм-аут. Рассматриваемые URL do работают из 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 не имеет значения.
Идеи
EDIT: предварительное тестирование показывает, что добавление $myHttpWebRequest.AuthenticationLevel = "None"
работает. Спасибо Скотт Саад.