Flutter: как правильно поддерживать сеанс для загрузки файла / или извлечения встроенного PDF с помощью JavaScript?

#flutter #download #flutter-inappwebview

#flutter #Скачать #flutter-inappwebview

Вопрос:

Я немного застрял с загрузкой файла. Я перехожу с помощью безголового-InAppWebView на определенную страницу, которая содержит PDF-файл, встроенный в iframe.

 <iframe src="../xyz.pdf" />
 

Мне нужно загрузить этот PDF-файл на устройство. Прямо сейчас я всегда использовал

 CookieManager().getCookies()
 

и Flutter Downloader или простой http.get с файлами cookie внутри заголовка.

 http.get(fileurl, headers: {"Cookie":cookies});
 

Однако, похоже, это не подходит для всех страниц.

На другом сервере это приводит к ошибке not authorized. Как мне правильно поддерживать сеанс из WebView для загрузки файла оттуда, или есть другой способ извлечь байты из встроенного файла? Или, может быть, извлечь файл из кэша WebView?

Заранее большое спасибо!

Комментарии:

1. Некоторые способы устранения неполадок показали следующее: файлы cookie через CookieManager().getCookies и JavaScript «document.cookie» не содержат половины необходимых файлов cookie. Я везде использовал Fiddler для проверки запросов, и в запросе гораздо больше файлов cookie. Итак, как я могу убедиться, что у меня есть ВСЕ файлы cookie, которые мне нужны для текущего сеанса?

2. Для дальнейшего уточнения. сбой диспетчера файлов cookie webview, поскольку файл cookie имеет формат, который не нравится менеджеру файлов cookie webview. Он выдает исключение. Пример cookie: ISAWPLB{21B8A963-08B8-4182-BB62-95CD0CEEE9DC}={68CF861A-E382-45D6-BC7C-9FFB87B95834};