11import 'dart:async' ;
2-
2+ import 'dart:io' ;
3+ import 'package:cookie_jar/cookie_jar.dart' ;
34import 'package:dio/dio.dart' ;
5+ import 'package:path_provider/path_provider.dart' ;
46
7+ Map <String ,dynamic > optHeader = {
8+ 'accept-language' : 'zh-cn' ,
9+ 'content-type' : 'application/json'
10+ };
511
6- var dio = new Dio ();
12+ var dio = new Dio (BaseOptions (connectTimeout : 30000 ,headers : optHeader) );
713
814class NetUtils {
9-
10- static Future get (String url,[Map <String ,dynamic > params]) async {
15+
16+ static Future get (String url, [Map <String , dynamic > params]) async {
1117 var response;
12- if (params != null ){
13- response = await dio.get (url, data: params);
14- }else {
18+
19+ // 设置代理 便于本地 charles 抓包
20+ // (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
21+ // (HttpClient client) {
22+ // client.findProxy = (uri) {
23+ // return "PROXY 30.10.26.193:8888";
24+ // };
25+ // };
26+
27+ Directory documentsDir = await getApplicationDocumentsDirectory ();
28+ String documentsPath = documentsDir.path;
29+ var dir = new Directory ("$documentsPath /cookies" );
30+ await dir.create ();
31+ // print('documentPath:${dir.path}');
32+ dio.interceptors.add (CookieManager (PersistCookieJar (dir: dir.path)));
33+ if (params != null ) {
34+ response = await dio.get (url, queryParameters: params);
35+ } else {
1536 response = await dio.get (url);
1637 }
17-
18- return response.data;
38+ return response.data;
1939 }
2040
21- static Future post (String url,Map <String ,dynamic > params) async {
41+ static Future post (String url, Map <String , dynamic > params) async {
2242 var response = await dio.post (url, data: params);
2343 return response.data;
2444 }
25- }
45+ }
0 commit comments