Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在Dart中保存cookie?_Flutter_Dart_Cookies - Fatal编程技术网

Flutter 如何在Dart中保存cookie?

Flutter 如何在Dart中保存cookie?,flutter,dart,cookies,Flutter,Dart,Cookies,我正在用flatter制作一个应用程序,我需要在标题上发送一个cookie来访问我的web API 然而,我没有任何成功 这是我的密码。 我怎样才能把一块饼干留在弗利特 import 'dart:convert'; import 'package:http/http.dart' as http; import 'package:shared_preferences/shared_preferences.dart'; class XsrfToken { static Future<St

我正在用flatter制作一个应用程序,我需要在标题上发送一个cookie来访问我的web API

然而,我没有任何成功

这是我的密码。 我怎样才能把一块饼干留在弗利特

import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:shared_preferences/shared_preferences.dart';

class XsrfToken {
  static Future<String> getXsrf(String getJwt) async {
    var url = 'https://www.myservice.com/api/v1/api.php';

    var decode = json.decode(getJwt);

    var header = {"Content-Type": "application/json"};

    Map params = {"token": decode};

    var _body = json.encode(params);

    var response = await http.post(url, headers: header, body: _body);

    print('Responde status ${response.statusCode}');
    print('Responde body ${response.body}');

    var xsrf = response.body;

    var prefs = await SharedPreferences.getInstance();
    prefs.setString("TokenXSRF", xsrf);

    return xsrf;
  }
}
导入'dart:convert';
将“package:http/http.dart”导入为http;
导入“package:shared_preferences/shared_preferences.dart”;
类XsrfToken{
静态未来getXsrf(字符串getJwt)异步{
var url='1〕https://www.myservice.com/api/v1/api.php';
var decode=json.decode(getJwt);
var头={“内容类型”:“应用程序/json”};
Map params={“token”:decode};
var_body=json.encode(params);
var response=wait http.post(url,headers:header,body:_body);
打印('responder status${response.statusCode}');
打印('Responde body${response.body}');
var xsrf=response.body;
var prefs=await SharedPreferences.getInstance();
prefs.setString(“令牌xsrf”,xsrf);
返回xsrf;
}
}

向听众添加cookies

var cookie1='xyz';
var cookie2=‘abc’;
变量头={
“内容类型”:“应用程序/json”,
‘Cookie’:‘myCookie1=$cookie1;mycookie2=$cookie2’,
};
用于检索cookies

var-cookiesData=response.headers['set-cookie'];
if(cookiesData!=null){
Map _cookies=_formatCookies(cookiesData);
//做你的逻辑
}
你会得到一个很长的字符串

以下是我个人用于格式化的内容

Map _formatCookies(String cookiesData) {
  Map cookies = {};

  if (cookiesData.contains('cookie1')) {
    List at = RegExp(r'(cookie1)(.*?)[^;]+').stringMatch(cookiesData).split('=');
    cookies['cookie1'] = at[1];
  }

  if (cookiesData.contains('cookie2')) {
    List rt = RegExp(r'(cookie2)(.*?)[^;]+').stringMatch(cookiesData).split('='); 
    cookies['cookie2'] = rt[1];
  }

  return cookies;
}


这回答了你的问题吗?我试图在我的代码中重现。但到目前为止,我还无法获取,那么:请在代码中显示我好吗?是的,但是我如何从服务器响应中重新获取此cookie?我需要的是获取服务器发送给我的cookie。我个人用于jwt令牌的格式化函数,不确定其他字符串的RegExp。谢谢您的回答。我将尝试在这里复制。