Powershell - назначить исходный код страницы ASP переменной - PullRequest
0 голосов
/ 27 сентября 2011

возможно, это глупый вопрос, но я не смог найти ответ в Google до сих пор. Мне нужно прочитать исходный код HTML страницы http://Mysite/ViewRequest.aspx?request_id=xxx. Я настроил следующее

wc = new-object -com internetexplorer.application
$wc.visible = $false
$wc.navigate2($strGRSpage).Document
$wc.silent = $true
$wc.visible = $false
$GRSstr = $wc.Document.body.IHTMLElement_outerText

К сожалению, страница IE всплывает, даже если я установил $ wc.silent = $ true и $ wc.visible = $ false. Есть ли другой способ (даже с HTTP-запросом GET), чтобы получить эти данные без получения страницы IE. НОТА. Сайт http://Mysite/ViewRequest.aspx?request_id=xxx поддерживает только IE и Mozilla. Когда я пытался использовать класс Webclient, я всегда получал неподдерживаемый браузер.

В VBscript следующие работы (но я хочу это в Powershell)

Set oHTML = CreateObject("Microsoft.XMLHTTP")  
Set oWeb = CreateObject("InternetExplorer.Application")  
oHTML.open "GET" , strGRSpage, false 
oHTML.send  
strGRStext = oHTML.responseText  

Большое спасибо,

Marco

Ответы [ 3 ]

1 голос
/ 27 сентября 2011

Вам просто нужно добавить соответствующий заголовок user-agent.

Например:

$wc = new-object system.net.webclient
$wc.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
$wc.DownloadFile("http://whatsmyuseragent.com/","d:\index.html")
1 голос
/ 27 сентября 2011

При попытке использования класса веб-клиента, возможно, вам просто не хватает добавить "действительный" пользовательский агент

$ wc.Headers.Add ("user-agent", "Valid WebClient Header")

0 голосов
/ 28 сентября 2011

Немного погуглив, я узнал, как настроить мой пользовательский агент для обеспечения совместимости с IE.

Final code is 
$wc = new-object system.net.webclient
$wc.Headers.Add("user-agent", "Windows-RSS-Platform/2.0 (MSIE 9.0; Windows NT 6.1)")
$GRSstr = $wc.DownloadString($strGRSpage) 

Большое спасибо за вашу помощь.

С уважением, Marco

----- Пожалуйста, отметьте как ответ ------

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...