#flutter #session #cookies #webview #instagram
Вопрос:
Я хочу, чтобы пользователи могли входить в свои инстаграмы и просматривать их статистику в моем приложении. Я создал веб-представление внутри, чтобы помочь им войти в систему. Но в приложении я получаю файл cookie по-другому.
С:
onPageFinished: (String url) async {
String sourceCode = await controller
.evaluateJavascript("document.body.outerHTML");
if (url == "https://www.instagram.com/" amp;amp;
sourceCode.contains("window._sharedData =")) {
String cookies =
await controller.evaluateJavascript("document.cookie");
//new intent
print(cookies);
setState(() {
visibility = false;
});
}
},
Я проверяю, проходит ли перенаправление instagram.com, вход в систему выполнен успешно. После этого с помощью «document.cookie» я получаю файл cookie.
Проблема в том, что с «document.cookie» я получаю короткий файл cookie, который не полезен для запросов в instagram.
В браузере у него есть файл cookie, начинающийся с : ig_did (он длинный), но в моем приложении у меня есть файл cookie, начинающийся с : «mid=».
Я думаю о том, как получить или сгенерировать этот длинный файл cookie, если я не могу, я не могу запросить конечные точки.
Спасибо..
Ответ №1:
Проблема решена с помощью webview_cookie_manager 2.0.1; document.cookie недостаточно для получения всех файлов cookie с URL-адреса.