コメントで既に述べたように、クライアントで実際の受け入れチェックを実行することはできません。サーバーだけがそれを実行できます。
ただし、期限切れまたは無効な Cookie を除外できます。
function filterInvalidCookies(cookies: TIdCookies; targetURL: TIdURI): Boolean;
var
c: Integer;
begin
Result := False;
c := 0;
while (cookies.Count > c) do
if (not cookies[c].IsExpired and cookies[c].IsAllowed(targetURL, False) and
(cookies[c].CookieName <> '')) then
begin
Result := True;
Inc(c);
end
else
cookies.Delete(c);
end;
この関数は無効な Cookie を削除し、有効な Cookie が残っていない場合は False を返します。次のようなリクエストの前に呼び出します。
if (Assigned(con.CookieManager)) then
filterInvalidCookies(con.CookieManager.CookieCollection,
TIdURI.Create('http://www.someurl.com/'));
はcon
オブジェクトTIdHTTP
です。
もちろん、追加の、おそらくターゲットページ固有のチェックを行うことができます。