Что нового

Кракозябры в WinHTTP.WinHTTPRequest.5.1

golukon

Новичок
Сообщения
3
Репутация
0
Всем привет, я новичок в autoit. Совсем недавно я начал изучать COM объект winHTTP.winHTTPRequest.5.1. При отправке GET запроса на адрес vk.com/login.php должен приходить в ответ html код. Вот его часть:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="vkontakte">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Вход | ВКонтакте</title>
<link rel="stylesheet" href="/css/rustyle.css?183" type="text/css" />
<script type="text/javascript">if (!window.vk) window.vk = {loginscheme: 'https', ip_h: 'xxxxxxxxxxxx'};</script>
<script src="/js/common.js?309"></script>
<link rel="stylesheet" href="/css/reg.css?17" type="text/css" />
<link rel="stylesheet" href="/css/ui_controls.css?60" type="text/css" />
<script type="text/javascript" src="/js/lib/ui_controls.js?179"></script>
<script type="text/javascript" src="/js/lang0_0.js?6597"></script>
<link rel="stylesheet" href="/css/login.css?2" type="text/css" />
Если код на autoit такой, то в файле code.txt будет "‹" (без кавычек+странный символ, который не вставляется сюда):
Код:
$http=ObjCreate("winhttp.winhttprequest.5.1")
$http.Open("GET","http://vk.com/login.php")
$http.SetRequestHeader("Accept","text/html, application/xhtml+xml, */*")
$http.SetRequestHeader("Accept-Language","ru-RU")
$http.SetRequestHeader("User-Agent","Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/7.0)")
$http.SetRequestHeader("Accept-Encoding","gzip, deflate")
$http.SetRequestHeader("Proxy-Connection","Keep-Alive")
$http.SetRequestHeader("Host","vk.com")
$http.SetRequestHeader("Pragma","no-cache")
$http.Send("")
$http.WaitForResponse
$t=$http.ResponseText
$file2=FileOpen(@DesktopDir & "\code.txt",10)
FileWrite($file2,$t)
FileClose($file2)

Если
Код:
$t=$http.ResponseText
заменить на
Код:
$t=$http.ResponseBody
то в файле будет что-то вроде этого:
Код:
н<ksЫVvЯщ+®‘‰AFкi‰Ч–е±'^Зc+ыЏ‹Б
.
Что это такое? Как исправить это? Заранее спасибо.
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Код:
$http.SetRequestHeader("Accept-Encoding","text")
 
Верх