Поиск по блогу

четверг, 10 марта 2011 г.

Delphi: Как удалить cookies из TWebBrowser?

В этой статье не будет ничего скандально нового :) Просто уже 2 комментатора спросили в заметке о cookies в TWebBrowser, как их удалять. В гугле, ясно дело, решение найти просто, но почему-то для кого-то проще спросить и ждать :)

В общем, если на мой блог о парсинге приходят по этому запросу, то надо на него ответить. :)

Это готовое решение, взятое из инета и опробованное мной. В результате будут подчищены все файлы с куками, хранящиеся в c:\Documents and Settings\Имя_пользователя\Cookies.

uses
WinInet;

procedure DeleteIECache;
var
lpEntryInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord;
dwEntrySize: LongWord;
begin
dwEntrySize := 0;
FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
if hCacheDir <> 0 then
begin
repeat
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
FreeMem(lpEntryInfo, dwEntrySize);
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize);
end;
FreeMem(lpEntryInfo, dwEntrySize);
FindCloseUrlCache(hCacheDir);
end;


Для чего может пригодиться очистка кукисов? Ну, например, вы написали какое-то свое приложение с TWebBrowser и заходите на определенный сайт через список прокси... ;)
___

Сегодня объявляю гранд мерси akkadites, автору блога "Обзор полезного софта", и Seorit.ru за обзоры RSSAdder-а.
___
Чтобы быть в курсе обновлений блога, можно подписаться на RSS.

Поделиться