Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Где хранятся cookie в TWebBrowser [D5, D6, D7, Win95/98, WinXP]


WebSQLNeeder ©   (2005-10-31 10:56:00) 

И возможно ли определить свою директорию для куки?


WebSqlNeederr   (2006-04-30 13:12:00) [1]

Вопрос остается актуальным. Наверняка ведь как то можно заставить мой ТВебБровзер хранить куки в своей директории, ведь можно же изменить для моего клиента прокси то почему нельзя куки сохранять там где мне хочется ?

Кто то уже разобрался в этой проблеме?


URALS   (2006-02-03 13:13:00) [2]

Я понял, что ты хочешь, но Webbrowser не может это сделать, исполльзуй компоненты INDY(IDHTTP и IDCOOKIEMANAGER), ищи инфу в нете, разбирайся с помощью них можно все сделать, а Webbrowser он только отображение IE 6.


WebSQLNeeder   (2005-11-05 13:56:00) [3]

Спасибо, конечно за Procedure ClearCache - но она я так понял удаляет кеш и в ИЕ, а мне хотелось бы что бы только в WebBrowser.

Возможно ли как то реализовать что бы очищались кеш и куки только моего WebBrowser ??


VENOM   (2005-11-04 20:34:00) [4]

Юзай, студент:

Procedure ClearCache;
Var  
   lpEntryInfo : PInternetCacheEntryInfo;  
   hCacheDir   : LongWord;  
   dwEntrySize : LongWord;  
   dwLastError : LongWord;  
Begin  
   dwEntrySize := 0;  
   FindFirstUrlCacheEntry( NIL, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );  
   GetMem( lpEntryInfo, dwEntrySize );  
   hCacheDir := FindFirstUrlCacheEntry( NIL, lpEntryInfo^, dwEntrySize );  
   If ( hCacheDir <> 0 ) Then  
       DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );  
   FreeMem( lpEntryInfo );  
   Repeat  
       dwEntrySize := 0;  
       FindNextUrlCacheEntry( hCacheDir, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );  
       dwLastError := GetLastError();  
       If ( GetLastError = ERROR_INSUFFICIENT_BUFFER ) Then Begin  
           GetMem( lpEntryInfo, dwEntrySize );  
           If ( FindNextUrlCacheEntry( hCacheDir, lpEntryInfo^, dwEntrySize ) ) Then  
               DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );  
           FreeMem(lpEntryInfo);  
       End;  
   Until ( dwLastError = ERROR_NO_MORE_ITEMS );  
End;


WebSQLNeeder   (2005-11-04 19:35:00) [5]

Что то ничего не находится ...

Может кто то знает готовый ответ?


WebSQLNeeder   (2005-10-31 13:14:00) [6]

Та ну это опять таки не самый лучший способ (это про учетные записи), ну это в ХР еще пройдет, а в 98 то никак ...

WinInet.pas - пороюсь поищу здесь ...

А вообще то я думал, что вопрос кукизов в веброузере это вопрос тривиальный и решался уже много раз, но вот уже несколько дней и на нескольких страницах поиска Яндекса ответа найти не могу :(


SergP.   (2005-10-31 12:53:00) [7]


> Ну вот как аналогично есть пример использования прокси только
> для моего WebBrowser (раньше я тоже думал что это через
> реестр нужно менять и всякая такая чушь) так вот может как
> то можно и для отдельного ВБ сделать свою директорию для
> кукизов??


Понятно... НЕсколько єкземпляров проги запускать с разными куками...
ИМХО проще только сделать на компе несколько учетных записей и запускать каждый экземпляр от имени другого юзера. А у разных юзеров куки находятся в разных папках...


Ihor Osov'yak   (2005-10-31 12:32:00) [8]

Не совсем понятно, зачем все это нужно..

Если есть необходимость выборочно почистить куки определенного сайта - то обратите внимание на WinInet.pas, а более конкретно на FindFirstUrlCacheEntryEx, FindNextUrlCacheEntryEx, DeleteUrlCacheEntry. Спросив  гуглю по этим ключевым словам и добавив слово Delphi можно найти готовіе решения.

Если же есть желание ну совсем гибко куки управлять, то можете посмотреть в сторону перехвата IHtmlDocument2.GetCookie
Но это уже из области хака, возможно, не совсем чистого..  Да и гугля не сию тему ничего не скажет.


WebSQLNeeder   (2005-10-31 11:58:00) [9]

Не, через реестр не пойдет - тогда и для ИЕ будет изменен путь к кукам. А мне нужно только исключительно для моего экзмемпляра ТВебБровзера.

Ну вот как аналогично есть пример использования прокси только для моего WebBrowser (раньше я тоже думал что это через реестр нужно менять и всякая такая чушь) так вот может как то можно и для отдельного ВБ сделать свою директорию для кукизов??


SergP.   (2005-10-31 11:24:00) [10]


> WebSQLNeeder ©   (31.10.05 11:10) [2]
> В смысле одновременно от разных пользователей? На разных
> компьютерах что ли? Не круто ли будет ? :)


Зачем на разных... Можно и на одном... :-)
Просто на компе должно быть несколько учетных записей.

[ИМХО]
А путь к кукам хранится в реестре... Поменять можно. Но поможет ли это тебе? Вобщем все зависит от того - для чего тебе это нужно...
[/ИМХО]

А для чего тебе понадобилось менять директорию с куками?


WebSQLNeeder   (2005-10-31 11:10:00) [11]

В смысле одновременно от разных пользователей? На разных компьютерах что ли? Не круто ли будет ? :)

А вообще как то же должно быть возможно переопределить свои директории для кукизов и кеша ведь ИЕ то такая же прога и как то формирует этот путь, значит и Делфи может сформировать свой путь ...


SergP.   (2005-10-31 11:06:00) [12]


> Где хранятся cookie в TWebBrowser


Там же где и у эксплорера.


> И возможно ли определить свою директорию для куки?


х/з. По крайней мере не встречал чтобы можно было....
А зачем?

Если смысл в том чтобы работать одновременно с несколькими у каждого из которых свои куки - то ИМХО для этого есть более простое решение -Запускать несколько приложений от разных пользователей...


Наверх

Титульная страница Поиск, карта сайта Написать письмо