Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Как получить только исхоный код страницы по HTTP (без картинок и тд - только текст)? (http://forum.oszone.net/showthread.php?t=162950)

evg64 09-01-2010 23:44 1315801

Как получить только исхоный код страницы по HTTP (без картинок и тд - только текст)?
 
Добрый день! Нужно получить один только HTML веб страницы (именно HTTP запросом, потому что это гораздо быстрее, чем грузить через браузер, а потом пользоваться _IEDocReadHTML). Пробую, пишу код:

читать дальше »
Код:

$sURL="http://rambler.ru/"
$sPath=@DesktopDir & "\HTML.html"
FileOpen($sPath,2)
FileWrite($sPath,_GetHTML($URL))
ShellExecuteWait($sPath)

Func _GetHTML($sURL,$sSendParam="")
if StringLeft($sURL,7)<>"http://" then $sURL="http://" & $sURL
Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("GET",$sURL,false)
$oHTTP.SetRequestHeader("Content-Type", "text/html")
$oHTTP.SetRequestHeader("Accept", "application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml")
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; WebMoney Advisor; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; OperaEmbedded Web Browser; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; AskTB5.3)")
$oHTTP.SetRequestHeader("Cache-Control", "no-cache")
$oHTTP.SetRequestHeader("Accept-Language", "ru")
$oHTTP.Send($sSendParam)
Return $oHTTP.ResponseText
EndFunc



Когда полученный код открывается через браузер, почему-то отображаются и картинки. Что изменить, чтобы картинок не было (ведь они получается скачиваются при запросе GET?) ? Я пробовал удалять все, что содержало Image из заголовка "Accept" - не помогло.

Creat0R 09-01-2010 23:49 1315805

Цитата:

Цитата evg64
Что изменить, чтобы картинок не было »

Нужно парсировать результат.

Цитата:

Цитата evg64
ведь они получается скачиваются при запросе GET? »

Нет, это просто ссылки, они подгружаются с сети.

evg64 10-01-2010 00:35 1315821

Цитата:

Цитата Creat0R
Нет, это просто ссылки, они подгружаются с сети. »

То есть если не открывать файл с помощью ShellExecute, то реально будет скачиваться один только текст и абсолютно больше никакого трафика?
P.S. Следовательно, отправляя один только запрос GET в таком виде никакой вирус не сможет попасть на комп, какой бы левый сайт ни был, правильно?

Creat0R 10-01-2010 01:17 1315849

Цитата:

Цитата evg64
То есть если не открывать файл с помощью ShellExecute, то реально будет скачиваться один только текст и абсолютно больше никакого трафика? »

Верно, только исходный код страницы.

Цитата:

Цитата evg64
отправляя один только запрос GET в таком виде никакой вирус не сможет попасть на комп, какой бы левый сайт ни был, правильно? »

Думаю это зависит от того куда посылается запрос, но по идее чтобы вирусу пробраться, нужно запустить вредноностный код на стороне клиента (юзера), а при GET-запросе вроде ничего не выполняется на стороне клиента.


Время: 08:11.

Время: 08:11.
© OSzone.net 2001-