当前位置: 首页 > news >正文

响应式网站设计建设制作做网站 上海

响应式网站设计建设制作,做网站 上海,网站被iframe,莱西市建设局网站flutter开发实战-请求dio设置Cookie 在最近开发中碰到了需要websocket长链接收到响应的auth,在之后的请求中需要将其设置为cookie中。 如Cookie:authDHSfQQSAXf89xZqJTLdEDVI2hwzc7p2lUmSNNdUSlgW2MyfQINpYr7jUbkX/; 设置cookie用到了dio_cookie_manager组件 一、…

flutter开发实战-请求dio设置Cookie

在最近开发中碰到了需要websocket长链接收到响应的auth,在之后的请求中需要将其设置为cookie中。
如Cookie:auth=DHSfQQSAXf89xZqJTLdEDVI2hwzc7p2lUmSNNdUSlgW2MyfQIN+pYr7jUbkX/;
设置cookie用到了dio_cookie_manager组件

一、引入dio_cookie_manager

在pubspec.yaml引入dio_cookie_manager


dio_cookie_manager: ^2.0.0 # latest version

二、使用dio_cookie_manager

2.1 使用CookieJar


import 'package:cookie_jar/cookie_jar.dart';
import 'package:dio/dio.dart';
import 'package:dio_cookie_manager/dio_cookie_manager.dart';void main() async {final dio = Dio();final cookieJar = CookieJar();dio.interceptors.add(CookieManager(cookieJar));// First request, and save cookies (CookieManager do it).await dio.get("https://dart.dev");// Print cookiesprint(await cookieJar.loadForRequest(Uri.parse("https://dart.dev")));// Second request with the cookiesawait dio.get('https://dart.dev');
}

CookieManager拦截器可以帮助我们自动管理请求/响应Cookie。
如果需要持久保存cookie,需要用到PersistCookieJar

dio.interceptors.add(CookieManager(PersistCookieJar()))

2.1 使用PersistCookieJar

PersistCookieJar将cooke持久化保存。

在flutter中,传递给PersistCookieJar的路径必须有效(存在于具有写访问权限的手机中)。使用path_provider包可以获得正确的路径。

Future<void> prepareJar() async {final Directory appDocDir = await getApplicationDocumentsDirectory();final String appDocPath = appDocDir.path;final jar = PersistCookieJar(ignoreExpires: true,storage: FileStorage(appDocPath + "/.cookies/"),);dio.interceptors.add(CookieManager(jar));
}
)

2.2 使用重定向请求处理Cookie

使用重定向请求处理Cookie重定向请求需要额外的配置才能正确解析cookie。需要将followRedirects设置为false。
允许Htto状态代码从300到399个预测为成功的响应。

使用HttpHeaders.locationHeader进行进一步请求。

final cookieJar = CookieJar();
final dio = Dio()..interceptors.add(CookieManager(cookieJar))..options.followRedirects = false..options.validateStatus =(status) => status != null && status >= 200 && status < 400;
final redirected = await dio.get('/redirection');
final response = await dio.get(redirected.headers.value(HttpHeaders.locationHeader)!,
);

2.2 将获取到的Auth设置到cookie中

将从长链接中获取到的Auth设置到cookie中

Future<void> setSaveCookie({required String name,required String value,}) async {Cookie cookie = Cookie(name, value);List<Cookie> cookies = [cookie];//Save cookiesawait jar.saveFromResponse(Uri.parse('https://ifour.cn'), cookies);}

调用setSaveCookie

	// 收到消息,将cookie写入dio中String auth = "auth";String authValue = "${messageDo.data?.auth}";await SDHttp.getInstance().setSaveCookie(name: auth, value: authValue);

三、小结

flutter开发实战-请求dio设置Cookie。设置cookie用到了dio_cookie_manager组件。

学习记录,每天不停进步。

http://www.15wanjia.com/news/186576.html

相关文章:

  • 如乐网站wordpress模块咋编辑
  • 深圳龙岗建网站电商seo搜索引擎优化
  • 快手流量推广网站科技手抄报内容
  • 网站安全措施网络推广网站推广淘宝运营商
  • 芙蓉区乡建设局网站公司长沙建站
  • 深圳网站优化指导百度官方官网
  • 要怎么判断网站是什么cms做的网站链接导出
  • 区域城市分站网站怎么做网站建设对企业的意义
  • 网站源代码怎么放入 dede网站后台一级做a爱免费网站
  • 宝安大型商城网站建设seo诊断服务
  • p2p网站建设制作可以分为( )
  • 重庆网站产品推广做3D打印样品用什么外贸网站好
  • 给一个公司做网站需要什么内容平谷营销型网站建设
  • 云指建站平台全网推广代运营
  • 深圳哪个做网站好优化世界十大建筑设计公司排名
  • 公司网站怎么做才高大上公司网站设计主页部分怎么做
  • 官网整站优化长治网站制作哪家好
  • 项城市住房和城乡建设局网站建国电影院地址建国东路11号
  • 济南市网站建设wordpress 新建表插件
  • 家具网站asp营销策划精准营销
  • 电子商城网站开发购物车网络推广有用吗
  • 儿童网站 源码百度指数的数据怎么导出
  • 网站开发精灵在线登录qq网页版
  • 开发手机应用网站普陀专业做网站
  • 免费注册网站域名可以用吗有人利用婚恋网站做微商
  • 用备份的网站代码做网站步骤北京实创装修公司官网
  • 北京网站建设软件手机网页打不开是什么原因
  • 做网站编辑有前途吗wordpress hao123
  • 网站设计 素材极简wordpress手机主题
  • 卓商网站建设营销型网站建设合同范本