Текущий архив: 2005.12.11;
Скачать: CL | DM;
ВнизОпределение размера закачиваемого файла. Найти похожие ветки
← →
Alex_Korn © (2005-09-01 21:07) [0]Для определения размера я вызываю:
InternetQueryDataAvailable(hURL,SumSize,0,0);
Но он выдает что-то несуразное. Например, при истинном размере
в 400 KB - он дает 653 Byte
Тестировал на самых разных файлах из разных мест
( в основном из кладовки ).
Как это лечить ?
← →
isasa © (2005-09-02 10:57) [1]Попробуй
MSDN
HttpQueryInfo
Retrieves header information associated with an HTTP request.
You can retrieve different types of data from HttpQueryInfo:
1.Strings (default)
2.SYSTEMTIME (for Data: Expires:, headers)
3.DWORD (for STATUS_CODE, CONTENT_LENGTH, and so on, if HTTP_QUERY_FLAG_NUMBER has been used)
var cURL : pURLs;
hSes, hURL, hHTTP : HInternet;
BytesAvail, BytesRead : DWORD;
buf : string;
bLen, hInd : longword;
rBuff : PChar;
i : integer;
.................
HttpQueryInfo(hHTTP, HTTP_QUERY_STATUS_CODE or HTTP_QUERY_FLAG_NUMBER, @i, bLen, hInd);
cURL^.Result:=i;
bLen:=2048;
HttpQueryInfo(hHTTP, HTTP_QUERY_RAW_HEADERS_CRLF, rBuff, bLen, hInd);
cURL^.Header:=string(rBuff);
cURL^.Body:=cURL^.Header;
if InternetQueryDataAvailable(hHTTP, BytesAvail, 0, 0) then
..............
← →
isasa © (2005-09-02 11:04) [2]Да! Должно интересовать поле CONTENT_LENGTH.
← →
isasa © (2005-09-02 11:17) [3]Пятница, торможу.
Запрос должен быть HEAD, не GET.
← →
Alex_Korn © (2005-09-02 17:47) [4]isasa © (02.09.05 11:17) [3]
Спасибо, помогло.
Страницы: 1 вся ветка
Текущий архив: 2005.12.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.04 c