информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 С наступающим 
 Серьезная уязвимость в Apache Log4j 
 Крупный взлом GoDaddy 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Net] http: как узнать размер данных, если поле Content-Length отсутствует? 10.12.02 15:26  Число просмотров: 1099
Автор: Dude Статус: Незарегистрированный пользователь
<"чистая" ссылка>
http://ftp.ics.uci.edu/pub/ietf/http/rfc1945.html#BodyLength

То есть RFC 1945 (HTTP 1.0, ибо в примере ты указал именно его)

"If a Content-Length header field is present, its value in bytes represents the length of the Entity-Body. Otherwise, the body length is determined by the closing of the connection by the server. "

"...В противном случае длина определяется закрытием подключения сервером."
<programming>
[Net] http: как узнать размер данных, если поле Content-Length отсутствует? 09.12.02 14:34  
Автор: vim Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Написал небольшую прогу - хочу просмотреть http трафик между IE и proxy-сервером. Т.е. вместо IE <=> PROXY сделать IE <=> ME <=> PROXY.

Проблема в чтении данных с прокси-сервера.
Когда в заголовке есть поле Content-Length, я считываю N-е количество байт, идущих после заголовка и возвращаю их в IE. С этим проблем нет.

Когда поля Content-Length нет, то размер данных, следующих за заголовком, не известен. По идее должен быть цикл вроде

while (true)
{
    nBytesRead = read_from_proxy( buf );
    write_to_IE( buf, 0, nByteRead );
    if (nBytesRead < buf.length) break;
}

---


Вот пример заголовка:

HTTP/1.0 200 OK
Date: Mon, 09 Dec 2002 08:33:28 GMT
Content-Type: text/html; charset=windows-1251
Server: Apache
X-Powered-By: PHP/4.1.2
Content-Language: ru
Via: 1.1 netcache1 (NetCache NetApp/5.3R2D5), 1.1 mcilproxy (NetCache NetApp/5.2.1R2)

Далее идут html-данные, которые в каком-то месте обрываются.

Обрываются они потому, что на каком-то очередном шаге я получаю количество считанных в буфер байт меньше чем размер самого буфера, и решаю, что данные закончились, отдаю этот буфер IE и жду от него очередной команды.

А IE ничего не посылает, потому что ждет окончания блока данных.

Прога написана на Jave, но думаю это не принципиально

Как узнать размер блока данных, следующих за заголовком???
[Net] http: как узнать размер данных, если поле Content-Length отсутствует? 10.12.02 15:26  
Автор: Dude Статус: Незарегистрированный пользователь
<"чистая" ссылка>
http://ftp.ics.uci.edu/pub/ietf/http/rfc1945.html#BodyLength

То есть RFC 1945 (HTTP 1.0, ибо в примере ты указал именно его)

"If a Content-Length header field is present, its value in bytes represents the length of the Entity-Body. Otherwise, the body length is determined by the closing of the connection by the server. "

"...В противном случае длина определяется закрытием подключения сервером."
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach