Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Получить MD5 файла из сети


Автор: suxxor 3.12.2011, 16:29
Необходимо получить MD5 файла по ссылке (например: http://www.example/file.rar)

Код

char md5[100];
DWORD dwSize = sizeof(md5)

// Соединение
HINTERNET hInternet = InternetOpen("User-Agent", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET hFile = InternetOpenUrl(hInternet, "http://www.example/file.rar", NULL, 0, INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE, 0);

// Получение данных
HttpQueryInfo(hFile, HTTP_QUERY_CONTENT_MD5, &md5, &dwSize, NULL);


после выполнения кода - в md5 пусто

есть ли возможность получить MD5 по другому, или я делаю что не так?

Автор: feodorv 8.12.2011, 03:00
Цитата(suxxor @  3.12.2011,  16:29 Найти цитируемый пост)
после выполнения кода - в md5 пусто

Видимо, Web-сервер не возвращает MD5 данные файла (в HTTP-заголовках ответа отсутствует поле Content-MD5, "optional header field" согласно RFC 1864).

Цитата(suxxor @  3.12.2011,  16:29 Найти цитируемый пост)
есть ли возможность получить MD5 по другому

Скачивать файл и считать MD5 вручную?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)