Обновление: теперь есть официальный ICoreWebView2CookieManager, который можно использовать для управления файлами cookie. Microsoft документирует этот API чрезвычайно, поэтому лучше всего проверить их документацию.
С помощью этого нового API достаточно вызвать либо DeleteCookie
для удаления одного файла cookie, DeleteCookies
, чтобы удалить все файлы cookie из домена, либо DeleteAllCookies
, чтобы очистить все файлы cookie в том же профиле.
(Исходный ответ сохраняется ниже)
WebView2 все еще находится в активной разработке и еще не имеет API файлов cookie, хотя это запрос что они знают.
В настоящее время рекомендуемый подход к очистке / удалению файлов cookie заключается в использовании _ 4_ и выпустите _5 _ команда. Это также то, что Microsoft демонстрирует в своем noreferrer удалить все файлы cookie. Использование DevTools
API по-прежнему будет работать, даже если в приложении не включены инструменты разработки пользовательского интерфейса.
Параметры, передаваемые команде, должны быть в формате JSON, поэтому, если вы хотите удалить определенный файл cookie, используя _ 7_, вам нужно будет указать {"name":"<cookie name>;"}
для удаления <cookie name>
:
m_view->CallDevToolsProtocolMethod(L"Network.deleteCookies", L"{\"name\": \"<cookie name>\";}", nullptr);
Или же вы можете удалить все файлы cookie с помощью Network.clearBrowserCookies
:
m_view->CallDevToolsProtocolMethod(L"Network.clearBrowserCookies", L"{}", nullptr);
Примечание. CallDevToolsProtocolMethod
выдается асинхронно, поэтому, если вам может потребоваться указать аргумент обработчика, если вам нужно удалить cookie, прежде чем продолжить.
person
Human-Compiler
schedule
10.10.2020
...calldevtoolsmethodasync
или что-то в этом роде, но он был для C # - person Йцуее Цукен   schedule 10.10.2020