|
|
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Не могу понять как можно задать размер респонса в байтах и допустим, если размер контента выходит за пределы допустимого диапазона(который мы задаем min max), статус URL-а должен меняться(например critical). Как я понял ,нужно делать как то через apache http client reponse size. сделать отдельный метод ,котрый из респонса вытянет размер заданным полям и добавить параметры expectedResponseSizeFrom expectedResponseSizeTo ; If(!(responseSize > expectedResponseSizеFrom && responseSize < expectedResponseSizeTrue)) - то тогда статус critical ; expectedResponseSizeTrue -> expectedResponseSizeTo; Нужно проверить если размер соответсвует параметрам; Буду очень благодарен если кто то приведет простой пример с кодом; А то я запарился уже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 03:46 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
Можно чуть более понятно? Клиент сделал запрос на заданный диапазон байт, а (http-)сервер собирается ответить другим диапазоном или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 04:28 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
javanoobie, Мы пишем клиентский код? Мы работаем с HTTP протоколом? Что такое "статус URL-а"? Что-то из вашей предметной области? Такого общепринятного понятия я не знаю. Вы не хотите просто измерять объем полученых с сервера данных? Это не вариант? На сколько сложный запрос? java.net.URL не достаточно? Нужен обязательно Apache HTTP Client. В Apache Commons IO есть CountingInputStream, который не сложно и самому написать. Можно просто завернуть ответ сервера в него и вычитать целиком. Есть HTTP заголовок Content-Length, который приличные сервера должны устанавливать. Он вам не подходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:05 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz,Надо чекнуть если размер ответа соответсвует заданным параметрам(min max), если не соответсвует то выводим какой то warning ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 15:18 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
javanoobieНадо чекнуть Проверить. javanoobieесли размер ответа соответсвует заданным параметрам(min max), если не соответсвует то выводим какой то warning Вот и поговорили. И для чего я столько вопросов задавал, если вам не интересно разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 15:28 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, конкретный вопрос , для начала ,не понимаю как из моего респонса вытянуть байты : Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 17:31 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
IMHO https://stackoverflow.com/questions/5769717/how-can-i-get-an-http-response-body-as-a-string-in-java Дальше получить размер строки уже тривиально. Другое дело, что в ситуации когда "повезло" может быть заполнен HTTP Header Content-Length но в общем, AFAIK это желательное, но не обязательный заголовок. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 17:43 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, С другой стороны не понятно, нужно ли только тело ответа, или заголовки тоже считать? Или как именно нужно считать ответы с gzip компрессией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 17:46 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
здесь хороший пример, http://magicmonster.com/kb/prg/java/net/apache_httpclient.html но всеравно не могу понять как зафигачить на своем примере,с полученого респонса System.out.println(String.format("got %d bytes", bytes.length)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 17:53 |
|
||
|
Как задать размер респонса ?
|
|||
|---|---|---|---|
|
#18+
javanoobie но всеравно не могу понять как зафигачить на своем примере,с полученого респонса System.out.println(String.format("got %d bytes", bytes.length));"Респонс" это "отклик". Он же - "ответ" или "ответ сервера". А раз сервер формирует ответ - ему (серверу) и ставить Content-Length. Если сервер не может (не хочет) вычислять размер ответа - заголовок просто не формируется. Если "риквест" ("запрос" или "запрос клиента"), то всё аналогично: дёргаем API и, если клиент проставил Content-Length, сравниваем ожидаемое со своими критериями и формируем отлуп с нужным кодом, если нас что-то не устраивает. Если клиент не установил Content-Length, начинаем вычитывать тело запроса (body, payload), попутно подсчитывая сколько байт мы уже приняли. Дальше по ситуации - или просто закрываем входной поток по достижении лимита или дочитываем до конца, отбрасывая принятое. Код статуса ставится аналогично варианту с априори известным размером запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 22:46 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39586155&tid=2122334]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 394ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...