WendyH писал(а):
Сел переписывать степашка.ком и столкнулся со следующей проблемой.
Есть подкаст "Последние поступления", который запрашивает несколько страниц с главной страницы ресурса. Так вот при использовании HmsSendRequestEx, если адрес запрашиваемой страницы GET запроса тотже самый что и был ранее, то срабатывает внутрений кеш программы и не отсылая на самом деле запроса получает ответ с тем же содержимим что и ранее. То, что теперь это так работает в программе по-умолчанию, я скорее рад. Ибо и снижает количество запросов к серверу и быстрота. Но раньше, если мне нужно было заполучить страницу свежую каждый раз при запросе, я выходил из положения стандартно - добавлял к запросу незначащий параметр с рандомным значением. Например: ?rnd=0.29182983283 или &r=0.2001921209 и всё устраивало.
Но тут столкнулся с проблемкой. Сайт никак не хочет воспринимать любые добавления к запросу, а поимает ТОЛЬКО такие сухие ссылки как "http://online.stepashka.com/page/1" и проч. В случае отклонения от такого вида - перенаправляет на главную страницу.
Я пробовал в http заголовки вставлять "Cache-Control: no-cache" и "Pragma: no-cache", использовать флаги INTERNET_FLAG_PRAGMA_NOCACHE (0x00000100), INTERNET_FLAG_RELOAD (0x80000000) (последний вообще для этого не годится и вызывает исключение). Но так и не смог заставить програмно непользоваться кешем.
Если есть какой-то способ, подскажите, как можно выйти из положения?
Если нет - предлагаю управление кешем в программе сделать. Даже теми же флагами.
Программа не кеширует, работает с
Код:
INTERNET_FLAG_RELOAD = -2147483648; { retrieve the original item }
или StrToInt('$80000000')