- Регистрация
- 08.11.2015
- Сообщения
- 1 787
- Благодарностей
- 2 453
- Баллы
- 113
Набросал примерно такой кодец, который по очереди создает несколько Инстансов (в моем понимании браузеров).
Создал я их без проблем.
Закрыл я их также без проблем (или может я не всё выполнил чтобы уничтожить их правильно?).
Беда в том, что они все дружно используют 1 юзерагент, и одинаковые заголовки.
А мне нужно, чтобы каждый использовал другой юзерагент, другой прокси, другую пачку куков.
По большому счёту, можно например загрузить профиль, создать Инстанс, потом загрузить другой профиль - потом обратно запустить Инстанс и так повторять сколько нужно раз.
В этом случае меня мучают смутные сомнения о том, не получится ли в этот момент так, что все инстансы будут сбрасывать куки в один активный на текущий момент профиль?
Кто реализовывал подобную логику - поделитесь пожалуйста своими размышлениями по данному поводу.
P.S. Нашел, видимо это и будет тем правильным вариантом, который я искал.
Но, вопрос всё таки остается открытым - не будут ли инстансы сбрасывать куки в текущий профиль?...
Создал я их без проблем.
Закрыл я их также без проблем (или может я не всё выполнил чтобы уничтожить их правильно?).
Беда в том, что они все дружно используют 1 юзерагент, и одинаковые заголовки.
А мне нужно, чтобы каждый использовал другой юзерагент, другой прокси, другую пачку куков.
По большому счёту, можно например загрузить профиль, создать Инстанс, потом загрузить другой профиль - потом обратно запустить Инстанс и так повторять сколько нужно раз.
В этом случае меня мучают смутные сомнения о том, не получится ли в этот момент так, что все инстансы будут сбрасывать куки в один активный на текущий момент профиль?
Кто реализовывал подобную логику - поделитесь пожалуйста своими размышлениями по данному поводу.
C#:
int count = 5;
int sleep = 1;
List<Instance> list = new List<Instance>(); // Список инстансов
for(int i=0;i<count;i++) {
string instance_url = string.Empty;
int instance_port = -1;
string instance_address = string.Empty;
ZennoPoster.GetNewInstance(out instance_url, out instance_port, out instance_address, ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Chrome, string.Empty);
Instance inst = new Instance(instance_url, instance_port, instance_address);
Thread.Sleep(sleep * 1000);
if(inst!=null) list.Add(inst);
}
foreach(Instance inst in list) {
inst.ActiveTab.Navigate("https://nghttp2.org/httpbin/get");
ZennoPoster.ShowInstance(inst.Url, inst.Port, inst.Address);
Thread.Sleep(sleep * 1000);
project.SendInfoToLog(inst.ActiveTab.GetSourceText("UTF-8"));
inst.ReleasePreparing(false);
inst.MinimizeMemory();
ZennoPoster.ReleaseInstance(inst.Url, inst.Port, inst.Address);
}
Но, вопрос всё таки остается открытым - не будут ли инстансы сбрасывать куки в текущий профиль?...
C#:
// заголовки
inst.SetHeader (ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.UserAgent, "hello world" );
// прокси
inst.SetProxy("http://127.0.0.1:8888");
// куки
inst.LoadCookie(project.Profile.CookieContainer.Export());// загрузка куки
project.Profile.CookieContainer.Import(inst.SaveCookie()); // выгрузка куки
Последнее редактирование: