|
|
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
Для скачивания страниц в GZip-encoding подключаю TIdCompressorZLib. Код: pascal 1. 2. Я думал, что InDy как-то умеет автоматически без моего участия скачивать и запакованные странички и незапакованные. Дело в том, что сервер отдает html в виде GZip, а некоторые файлы типа *.js - без GZip. Т.е. придётся как-то анализировать заголовок и уже после этого понимать: подключать IdCompressorZLib или нет. Т.е. предварительно нужно скачивать только заголовок, а потом уже остальное? А как это правильно реализовать, не знаю, потому что HTTP.Get скачивает сразу всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 12:50 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
Ну и получай гет-ом. А как получишь, смотри Content-encoding header и распаковывай при надобности. В чем проблема-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:39 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
X11Дело в том, что сервер отдает html в виде GZip заголовки покажи, и запроса и ответа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:41 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
по идее, Инди сами должны распаковывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:57 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
заголовки, заголовки.... кто сказал, что там вообще GZip-паковка, а не Zip например ? или что там передаётся именно html-страничка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:03 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
не открывается кратинка, и вообще, мы ж на программерском сайте, тeкстом скопируй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:04 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
X11А как это правильно реализовать, не знаю, потому что HTTP.Get скачивает сразу всё.кроме GET и POST есть еще HEAD. Но сначала лучше разобраться в заголовках при запросе html и .js ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:04 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
X11Т.е. предварительно нужно скачивать только заголовок, а потом уже остальное? тиритисски в HTTP протоколе для такого служит команда HEAD (вместо GET) но вроде не все сервера ее поддерживают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:05 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
кстати, ты Indy свежий скачал, или какой-то старый? а то меня радуют такие например приколы, как https://robertocschneiders.wordpress.com/2013/05/17/soap-and-rest-using-gzip-with-delphi-client/ IdHttp := TIdHTTP.Create(nil); IdHttp.Compressor := TIdCompressorZLib.Create(IdHttp); NOTE: This does not work in Delphi XE2. Access violation occurs. Works in XE3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:11 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
Ariochне открывается кратинка, и вообще, мы ж на программерском сайте, тeкстом скопируй проверил - открывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:12 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
за head - спасибо, я не знали или забыл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:13 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
Ariochкстати, ты Indy свежий скачал, или какой-то старый? встроенный в Tokyo ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:14 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
X11, Судя по accept-encoding Indy осознал, что ты ему компрессор подключил, это уже хорошо. дальше смотри по исходникам indy там, где он анализирует content-encoding он должен пойти в ветку, которая использует Compressor, и через него получить(?) распакованный ответ и куда-то(?) его положить, где ты его сможешь забрать P.S. а много тебе таких файлов надо качать? м.б. тупо попросить windows, пусть сама скачает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:16 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
AriochСудя по accept-encoding Indy осознал, что ты ему компрессор подключил, это уже хорошо. это же из Firefox снимок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:16 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
X11Ariochкстати, ты Indy свежий скачал, или какой-то старый? встроенный в Tokyo опять же, сравни со свежим, не меняли ли там чего в районе сжатия P.S. мне много с HTTP работать не приходилось, я обычно пользовался или Synapse (она простая, чем и хороша) или вообще ActiveX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:17 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
X11AriochСудя по accept-encoding Indy осознал, что ты ему компрессор подключил, это уже хорошо. это же из Firefox снимок охренеть.... ну тогда делай такие же 2 снимка из Indy и сравнивай заголовки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:18 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
А Web.HTTPApp умеет скачивать? я там такого метод не нашёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:36 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
тут куча примеров, даже какой-то TDownloadURL https://stackoverflow.com/questions/301546/whats-the-simplest-way-to-call-http-get-url-using-delphi И я не про HTTPApp :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 15:58 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
тут куча примеров, даже какой-то TDownloadURL https://stackoverflow.com/questions/301546/whats-the-simplest-way-to-call-http-get-url-using-delphi И я не про HTTPApp :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 15:58 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
насколько я помню из давней работы с IdHTTP и TIdCompressorZLib - оно подключает декомпрессор, только если видит в Content-Type что-то типа gzip, как у тебя с html. А в случае js, где content-type вообще отсутствует - декомпрессор вроде не должен задействоваться. Но в любом случае, надо закопаться в обработчик ответа в IdHTTP, и смотреть что и как. Ничего такого особо хитрого там нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 20:29 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
т.е. не content-type, а encoding, конечно же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 20:30 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
Vizit0rА в случае js, где content-type вообще отсутствует - декомпрессор вроде не должен задействоваться. Вот и я о том. Не должен. Но в нормальном виде скачивается только если отключить декомпрессор иначе - кракозабры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 09:42 |
|
||
|
InDy http и GZip
|
|||
|---|---|---|---|
|
#18+
X11, Вот ты вроде нормальный программист, расскажи - как ты забываешь о такой возможности, как отладка по исходникам?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:16 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=59&tid=2038921]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 342ms |

| 0 / 0 |
