Хакер писал(а):Тут видешь как: надо смортреть отправляет ли он заголовок
- Код: Выделить всё
Accept-Encoding: gzip
или
- Код: Выделить всё
Accept-Encodinf: deflate
По дефолту он не шлет "Accept-Encoding: gzip"
Вызываем функцию нужным нам образом
Inet1.Execute "localhost", , , "Accept-Encoding: gzip"
Получаем такой HTTP запрос.
- Код: Выделить всё
GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Encoding: gzip
User-Agent: Microsoft URL Control - 6.00.8862
Host: localhost
Cache-Control: no-cache
Так как сервер у нас поддерживает gzip, то в ответ соответвенно получаем данные вида:
- Код: Выделить всё
HTTP/1.1 200 OK
Date: Mon, 23 Oct 2006 06:17:27 GMT
Server: Apache/1.3.37 (Unix) mod_deflate/1.0.21
Expires: 0
Pragma: no-cache
Last-Modified: Mon, 23 Oct 2006 05:17:27 GMT
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
Content-Encoding: gzip
b85
‹
œ$Ñà@âa]æD „÷wöÊ猚ݩpü×°‚Ñé:¬ù!g";D™ú’ëf×Æ7—å4'l÷š=
...
пытаюсь отобразить данные в форме таким образом:
- Код: Выделить всё
Private Sub Inet1_StateChanged(ByVal State As Integer)
' Retrieve server response using the GetChunk
' method when State = 12.
Dim vtData As Variant ' Data variable.
Select Case State
' ... Other cases not shown.
Case icError ' 11
' In case of error, return ResponseCode and
' ResponseInfo.
vtData = Inet1.ResponseCode & ":" & _
Inet1.ResponseInfo
Case icResponseCompleted ' 12
Dim strData As String
Dim bDone As Boolean: bDone = False
' Get first chunk.
vtData = Inet1.GetChunk(1024, icString)
DoEvents
Do While Not bDone
strData = strData & vtData
' Get next chunk.
vtData = Inet1.GetChunk(1024, icString)
DoEvents
If Len(vtData) = 0 Then
bDone = True
End If
Loop
Me.Print strData
End Select
End Sub
В ответ получаем ошибку Run-time error '13': Type mismatch
в строке Inet1.GetChunk(1024, icString)
недолго думая меняем icString на icByteArray
и получаем в окошке строку вида "????5?Я идиот! Убейте меня, кто-нибудь!?..."
Вобщем вывод, Internet Transfer Control не поддерживает gzip.