-
Возможно ли переопределять cookies TWebBrowser в оправляемых заголовках?
Ситуация такая: есть несколько TWebBrowser, работающших с одним сайтом. Есть необходимость работать одновременно с разными аккаунтами, т.е. так, чтобы каждый TWebBrowser посылал свои куки.
Сначала была идея в OnBeforeNavigate2 в Headers записывать нужные куки, но, как оказалось, этот метод не работает. Как еще можно установить cookie в TWebBrowser перед посылкой запроса? Или лучше перехватывать все http-запросы и менять заголовки?
Буду благодарен за помощь.
-
Проблема решилась написанием локального прокси, добавляющего необходимые куки.
-
Пускай от разных юзверей...
-
> Проблема решилась написанием локального прокси, добавляющего > необходимые куки.
Если не трудно, можно попробнее. Дело в том, что была такая же задача, тоже хотел решить написанием прокси-сервера, который устанавливал нужные кукисы. Но столкнулся с проблемой: неизвестно, какие куки в данный момент нужно установить. Например, два WebBrowser'a, очень быстро нажимаем кнопку или переходим по ссылке в обоих, тогда прокси не будет знать, какому компоненту какой запрос принадлежит...
-
У Twebbrowser кукисы такие же как и у ИЕ - хранятся там же.Если надо с иммитировать вход на серевер с разных компов я использую: 1. Вход на сервер(сайт) через IDHTTP+ IDcookiesManager. 2. Получив куксы из IDcookiesManager "переписываю" их Webbrowser. 3. и т.д.
-
У меня немного сложнее. Дело в том, что я делаю клиент для игры. Игра полностью на флеше, и потому события типа onBeforeNavigate срабатывать не будут. Соотственно, я могу записать куки в WB в самом начале сессии, но затем они всё равно затрутся новыми, которые будут записаны для других WB. Поэтому единственное решение, как мне кажется, - это прокси-сервер
-
В этом и есть особенность WB - куки "сидят" в нем до конца сеанса. Т.е. если сбрить куки из папки Сookies перед стартом нового WB, то у нового WB будут уже свои куки - иммитация доступа с одного ИП нескольких клиентов с разных компьютеров).Это и будет - "одновременно с разными аккаунтами"
-
Куки-то да, до конца сеанса. Но они же временные, они не пишутся в файлы, а хранятся только в памяти. Так что удалять нечего :(
-
2> Infarkt ...они не пишутся в файлы, а хранятся только в памяти... а что мешает запустит 100(можно и больше) копий приложений с Вебброузером? - куксы привязываются к брауезеру(ам) в пределах одного процесса - читай приложения)
-
Это конечно выход, да, но собственно, как раз от кучи приложений и хотелось отказаться :) Сейчас мульти-вход решается заходом в игру в разных браузерах, а хочется, чтоб всё было сразу и в одном окне :)
-
Решил проблему созданием прокси-сервера для каждого аккаунта. Не очень хороший выход, но работает. Учитывая то, что всё равно одновременно больше чем в 3-4 аккаунтах сидеть не будут.
-
> Если не трудно, можно попробнее. Дело в том, что была такая > же задача, тоже хотел решить написанием прокси-сервера, > который устанавливал нужные кукисы. Но столкнулся с проблемой: > неизвестно, какие куки в данный момент нужно установить. > Например, два WebBrowser'a, очень быстро нажимаем кнопку > или переходим по ссылке в обоих, тогда прокси не будет знать, > какому компоненту какой запрос принадлежит...
Я добавляю в кажом запросе заголовок X-Set-Cookies, если прокси встречает запрос с таким заголовком, то переписывает ему Cookies.
-
tertfdsgfdsgfsdgd
-
Удалено модератором
|