Обработка HTTP response, срочно нужна помощь
От: Аноним  
Дата: 14.05.08 04:39
Оценка: :)
Есть задача дизайна, уже всю голову сломал какую реализацию выбрать
Итак, написан код для отправки HTTP GET и POST сообщений используя следующее API из WinInet.lib: InternetOpen(), InternetConnect(), HttpOpenRequest(), HttpAddRequestHeaders(), HttpSendRequest(). Запросы уходят отлично, проблемы с чтением приемов. В ответе я ожидаю получить HTML страничку, а затем парсить ее.
Теперь начинаются вопросы:
1 — При вызове HttpQueryInfo() с параметром HTTP_QUERY_CONTENT_LENGTH возвращается ERROR_HTTP_HEADER_NOT_FOUND. Это нормально в случае, если я ожидаю получить в ответе HTML страницу?
2 — Т.к. нет возможности узнать размер контента, то наверное можно попытаться читать данные в цикле с помощью InternetQueryDataAvailable() и InternetReadFile(). Теперь нужно как-то сохранить данные, и вот тут начинаются сложности. Т.к. размера данных мы не знаем до тех самых пор, пока не дочитаем до конца, то сразу аллокировать память нужного размера не получится. Насколько это корректно перенаправлять данные в файл, а затем уже парсить его? Софт будет крутиться на Windows Mobile. Можно, конечно, выделить большой буфер, и в случае, если размер конента превышает его, то просто проигнорировать остаток данных, но это как-то криво выглядит. Вот такая дилема Какие еще варианты посоветуете?

Задача исключительно важная и срочная.

Заранее спасибо!

14.05.08 15:50: Перенесено модератором из 'C/C++' — Кодт
wininet windows mobile
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.