JXBrowser изменить куки - PullRequest
       13

JXBrowser изменить куки

0 голосов
/ 21 сентября 2018

Я наткнулся на https://jxbrowser.support.teamdev.com/support/solutions/articles/9000013108-network-events в JXBrowser и хотел добавить новые куки, чтобы его можно было использовать в последующих вызовах.Доступна поддержка для добавления заголовков, так как прямой доступ к файлам cookie, которые я пытался использовать с помощью

 public void onBeforeSendHeaders(BeforeSendHeadersParams paramBeforeSendHeadersParams)
  {
List<Cookie> cookieList = browser.getCookieStorage().getAllCookies();

} 

, отсутствует. Также обратите внимание, что вызовы из приведенного ниже фрагмента выдают то же исключение

browser.getURL(); //Exception is thrown here

CookieStorage storage = setCookies(paramBeforeSendHeadersParams, browser, list);
storage.save();// Exceptino is thrown here
* 1008.* но если я сделаю это, я получу

java.lang.IllegalStateException: вы пытаетесь выполнить некоторый код, который вызывает синхронную отправку сообщения на канал IPC.Этот код выполняется в области действия обработчика, который ограничен синхронным сообщением, полученным из канала IPC.Такое выполнение кода вызывает тупиковую ситуацию в нативном коде с высокой вероятностью и запрещено.

Какова причина того, что любая помощь приветствуется

1 Ответ

0 голосов
/ 24 сентября 2018

Как я понимаю, вы хотите, чтобы ваше приложение делило файлы cookie между несколькими экземплярами браузера.Можно создать два экземпляра Browser с одинаковыми экземплярами BrowserContext, которые используют один и тот же каталог пользовательских данных.В результате они будут делиться файлами cookie и файлами кэша.Например:

BrowserContext context = new BrowserContext(
new BrowserContextParams("C:\\my-data1"));
Browser browser1 = new Browser(context);
Browser browser2 = new Browser(context);

В этом случае вы не должны получать исключение.

...