Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > WebBrowser и общие cookie


Автор: Валерия 16.9.2012, 14:08
Добрый день!
Создаю два разных WebBrowser, но вот проблема: если в первом прописываются cookies то они автоматически применяются для второго
Есть ли способ решить эту проблему, что бы для каждого WebBrowser были свои cookies, как в WebRequest?
Т.е задача сводится к тому, что если на страничке, загруженной WebBrowser1 есть к примеру код:
Код
<script>
document.cookie = "var1=test1";
</script>
а в WebBrowser2 
Код
<script>
document.cookie = "var1=ololo";
</script>
то значение у первого должно быть test1, а у второго ololo и они не должны друг друга перезаписывать, потому как в данный момент значение var1 будет прописано тем скриптом, который был вызван последним
Так-же, неизвестно заранее какие на страничке будут cookies и каким способом они будут прописываться, поэтому парсить их и прописывать в WebRequest - не вариант

Так-же, были попытки использовать библиотеки jint и javascriptdotnet, но они так-же не подходят, потому что под них нужно адаптировать джаваскрипт

Автор: lomaster 16.9.2012, 14:28
Куки не браузеру принадлежат. Вы поясните чего надо, может вам не куки тогда нужны..

Автор: Валерия 18.9.2012, 02:42
Цитата(lomaster @  16.9.2012,  14:28 Найти цитируемый пост)
Куки не браузеру принадлежат. Вы поясните чего надо, может вам не куки тогда нужны..

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

Автор: lomaster 18.9.2012, 08:48
Еще раз, - куки делались, чтобы не зависеть от браузера.

Автор: infarch 18.9.2012, 09:46
Цитата(lomaster @ 18.9.2012,  08:48)
Еще раз, - куки делались, чтобы не зависеть от браузера.

Не запутывайте человека. Поясню: контрол WebBrowser не является самостоятельным браузером, а использует движек имеющегося в системе ИЕ. Поэтому сколько бы контролов и форм вы не использовали, а куки попадут в общую кучу - в сторедж ИЕ. 

Автор: lomaster 18.9.2012, 09:51
infarch,  Какая разница? вы понимате?... а потому как никакой, ответ в [1] в полной мере.

Автор: Валерия 18.9.2012, 11:48
Ребята, я это всё прекрастно понимаю, но от этого не легче smile
Можно ли для каждого WebBrowser сделать свой сторейдж?
Или, можно ли как-то подвязать движок ИЕ к HttpWebRequest что бы он так-же обрабатывал джаваскрипт как WebBrowser?
Да и не обязательно движок IE, можно любого другого браузера.
Мало того, подойдет даже просто библиотека обработки javascript, но такая, под которую специально javascript не нужно допиливать, которая будет обрабатывать джаваскрипт так-же как и браузеры

Автор: diadiavova 18.9.2012, 13:05
Валерия, я так понимаю, тебе надо, чтобы твоя программа работала из-под разных учеток на сайте. Есть вариант, создать на компе несколько учеток и запустить несколько экземпляров программ от имени разных пользователей. У каждого пользователя свое хранилище куков.

Автор: Валерия 18.9.2012, 14:00
Цитата(diadiavova @  18.9.2012,  13:05 Найти цитируемый пост)
Валерия, я так понимаю, тебе надо, чтобы твоя программа работала из-под разных учеток на сайте. Есть вариант, создать на компе несколько учеток и запустить несколько экземпляров программ от имени разных пользователей. У каждого пользователя свое хранилище куков. 
Идея хорошая, но создавать десятки учёток, это немного напряжный вариант smile
Можно ли как-то перенаправить сторейдж каждого веб-браузера?

Автор: diadiavova 18.9.2012, 14:32
Валерия,,а чем вариант напряжный? Учетки можно и программно создать.

Автор: Валерия 18.9.2012, 14:47
Цитата(diadiavova @  18.9.2012,  14:32 Найти цитируемый пост)
а чем вариант напряжный? Учетки можно и программно создать. 

Ненормально это как-то smile
Это сколько оперативы нужно, что бы учёток 20-50 сразу было запущено?

Автор: diadiavova 18.9.2012, 15:14
Цитата(Валерия @ 18.9.2012,  15:47)
Цитата(diadiavova @  18.9.2012,  14:32 Найти цитируемый пост)
а чем вариант напряжный? Учетки можно и программно создать. 

Ненормально это как-то smile
Это сколько оперативы нужно, что бы учёток 20-50 сразу было запущено?

Ну как ненормально? Наверняка ведь бота какого-нибудь пишешь и хочешь, чтобы он сайт "пахал" из-под нескольких учеток одновременно. Ну не приспособлен браузер для этого и что делать? Я думаю, что любой другой вариант будет жутким и ненадежным костылем.

Автор: lomaster 19.9.2012, 00:53
Цитата

HttpWebRequest 
 У него те-же самые куки, и никакие не другие.
Либо вы расскажите чего делаете, либо вам не возможно помочь..

Автор: Валерия 19.9.2012, 03:17
Цитата(lomaster @  19.9.2012,  00:53 Найти цитируемый пост)
 У него те-же самые куки, и никакие не другие.
Если создать два HttpWebRequest, то их куки не пересекаются

Автор: lomaster 19.9.2012, 07:52
их там вообще нет, их наличие на вашей ответственности.
Что дадите то и будет, браузер вот так поступает, и это правильно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)