Конференция "Сети" » Установка произвольных cookies в TWebBrowser
 
  • Человек (20.07.09 18:18) [0]
    Возможно ли переопределять cookies TWebBrowser в оправляемых заголовках?

    Ситуация такая: есть несколько TWebBrowser, работающших с одним сайтом. Есть необходимость работать одновременно с разными аккаунтами, т.е. так, чтобы каждый TWebBrowser посылал свои куки.

    Сначала была идея в OnBeforeNavigate2 в Headers записывать нужные куки, но, как оказалось, этот метод не работает. Как еще можно установить cookie в TWebBrowser перед посылкой запроса? Или лучше перехватывать все http-запросы и менять заголовки?

    Буду благодарен за помощь.
  • Человек (05.08.09 19:29) [1]
    Проблема решилась написанием локального прокси, добавляющего необходимые куки.
  • Dennis I. Komarov © (06.08.09 15:48) [2]
    Пускай от разных юзверей...
  • Infarkt (18.08.09 11:08) [3]

    > Проблема решилась написанием локального прокси, добавляющего
    > необходимые куки.


    Если не трудно, можно попробнее. Дело в том, что была такая же задача, тоже хотел решить написанием прокси-сервера, который устанавливал нужные кукисы. Но столкнулся с проблемой: неизвестно, какие куки в данный момент нужно установить.
    Например, два WebBrowser'a, очень быстро нажимаем кнопку или переходим по ссылке в обоих, тогда прокси не будет знать, какому компоненту какой запрос принадлежит...
  • cerber (18.08.09 23:05) [4]
    У Twebbrowser кукисы такие же как и у ИЕ - хранятся там же.Если надо с иммитировать вход на серевер с разных компов я использую:
    1. Вход на сервер(сайт) через IDHTTP+ IDcookiesManager.
    2. Получив куксы из IDcookiesManager "переписываю" их Webbrowser.
    3. и т.д.
  • Infarkt (19.08.09 08:01) [5]
    У меня немного сложнее. Дело в том, что я делаю клиент для игры. Игра полностью на флеше, и потому события типа onBeforeNavigate срабатывать не будут. Соотственно, я могу записать куки в WB в самом начале сессии, но затем они всё равно затрутся новыми, которые будут записаны для других WB. Поэтому единственное решение, как мне кажется, - это прокси-сервер
  • cerber (19.08.09 08:51) [6]
    В этом и есть особенность WB - куки "сидят" в нем до конца сеанса. Т.е. если сбрить куки из папки Сookies перед стартом нового WB, то у нового WB будут уже свои куки - иммитация доступа с одного ИП нескольких клиентов с разных компьютеров).Это и будет  - "одновременно с разными аккаунтами"
  • Infarkt (19.08.09 10:14) [7]
    Куки-то да, до конца сеанса. Но они же временные, они не пишутся в файлы, а хранятся только в памяти. Так что удалять нечего :(
  • cerber (19.08.09 20:52) [8]
    2> Infarkt  
    ...они не пишутся в файлы, а хранятся только в памяти...
    а что мешает запустит 100(можно и больше) копий приложений с Вебброузером? - куксы привязываются к брауезеру(ам) в пределах одного процесса - читай приложения)
  • Infarkt (20.08.09 08:01) [9]
    Это конечно выход, да, но собственно, как раз от кучи приложений и хотелось отказаться :) Сейчас мульти-вход решается заходом в игру в разных браузерах, а хочется, чтоб всё было сразу и в одном окне :)
  • Infarkt © (27.08.09 14:17) [10]
    Решил проблему созданием прокси-сервера для каждого аккаунта. Не очень хороший выход, но работает. Учитывая то, что всё равно одновременно больше чем в 3-4 аккаунтах сидеть не будут.
  • Человек (08.10.09 17:12) [11]

    > Если не трудно, можно попробнее. Дело в том, что была такая
    > же задача, тоже хотел решить написанием прокси-сервера,
    > который устанавливал нужные кукисы. Но столкнулся с проблемой:
    >  неизвестно, какие куки в данный момент нужно установить.
    >  Например, два WebBrowser'a, очень быстро нажимаем кнопку
    > или переходим по ссылке в обоих, тогда прокси не будет знать,
    >  какому компоненту какой запрос принадлежит...


    Я добавляю в кажом запросе заголовок X-Set-Cookies, если прокси встречает запрос с таким заголовком, то переписывает ему Cookies.
  • tttttetert (05.11.10 17:06) [12]
    tertfdsgfdsgfsdgd
  • имя (16.10.11 19:23) [13]
    Удалено модератором
 
Конференция "Сети" » Установка произвольных cookies в TWebBrowser
Есть новые Нет новых   [134427   +35][b:0][p:0]