Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.12.14;
Скачать: CL | DM;

Вниз

контроль (учет) трафика WinInet   Найти похожие ветки 

 
Dmitriy   (2010-05-19 10:50) [0]

Здравствуйте уважаемые мастера!
Есть необходимость в вашей помощи! Встал вопрос: а можно ли как-то учитывать трафик во время отправки запроса на сервер и получения от него ответа?
Задаю такой вопрос вот почему: для отправки на сервер использую функцию HttpSendRequest. Так вот эта функция посылает запрос и видимо получет ответ сервера, т.к. после ее выплнения можно прочитать заголовки, а сколько трафика истрачено неизвестно.


 
Rouse_ ©   (2010-05-19 11:11) [1]

Смотри в сторону HttpQueryInfo и флагах HTTP_QUERY_RAW_HEADERS_CRLF + модификатор HTTP_QUERY_FLAG_REQUEST_HEADERS


 
Dmitriy   (2010-05-19 12:25) [2]


> Смотри в сторону HttpQueryInfo и флагах HTTP_QUERY_RAW_HEADERS_CRLF
> + модификатор HTTP_QUERY_FLAG_REQUEST_HEADERS

Прошу прощения, но в каком смысле?
Ведь почему-то HttpQueryInfo возвращает результат только после выполнения функции HttpSendRequest, а не до неё или возвращает не то, что нужно. А мне желательно учитывать трафик во время выполнения самой функции. Такое в принципе возможно?


 
Rouse_ ©   (2010-05-19 12:50) [3]

До нее он возвращает весь запрос который уйдет на сервер, он и будет твоим исходящим трафиком который тебе нужно посчитать. После нее он отдаст тебе то что вернул сервер - это будет твой входящий трафик. Суммируй и будет тебе счастье.


 
Dmitriy   (2010-05-19 13:09) [4]


> До нее он возвращает весь запрос который уйдет на сервер,
>  он и будет твоим исходящим трафиком который тебе нужно
> посчитать

Допустим,может так оно и должно быть в принципе, но я попробовал вызвать HttpQueryInfo с этим флагами до HttpSendRequest и она мне выдала, что-то типа POST "название скрипта" HTTP/1.1, однако уже после HttpSendRequest возращает именно "весь запрос который должен уйти на сервер". Может я что не так делаю?
Функцию вызыва следующим образом:

//bufferLength,index:cardinal;
//buffer:array [0..1204] of char;
bufferLength := SizeOf(buffer);
index := 0;
rs := HttpQueryInfo(hRequest, HTTP_QUERY_RAW_HEADERS_CRLF or HTTP_QUERY_FLAG_REQUEST_HEADERS, @buffer, bufferLength, index);


 
Rouse_ ©   (2010-05-19 13:11) [5]

Второй вызов делай без модификатора HTTP_QUERY_FLAG_REQUEST_HEADERS - ибо именно он отвечает за отображение исходящего


 
Dmitriy   (2010-05-19 14:22) [6]

А всё таки, можно ли получить заголовки для отправки ДО вызова HttpSendRequest?


 
Rouse_ ©   (2010-05-19 14:25) [7]

Только исходящие, т.к. входящих без вызова нет и быть не может.


 
Сергей М. ©   (2010-05-19 15:24) [8]


> Dmitriy


WinInet не даст актуальных данных о трафике, особенно если дело касается биллинга, ибо

- доступны данные только о прикладном трафике
- возможная работа через HTTP-прокси вносит свои коррективы в реальный прикладной трафик



Страницы: 1 вся ветка

Текущий архив: 2014.12.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
6-1274251810
Dmitriy
2010-05-19 10:50
2014.12.14
контроль (учет) трафика WinInet


3-1301760583
worldmen
2011-04-02 20:09
2014.12.14
Запрос списка уволенных


2-1385580807
SKIPtr
2013-11-27 23:33
2014.12.14
запись параметров в ini файл


3-1301462832
vlgrig1961
2011-03-30 09:27
2014.12.14
HELP!!!Странная сортировка при GROUP BY


15-1399904738
Астахов Сергей
2014-05-12 18:25
2014.12.14
Экспорт данных в OpenOffice