Files
flutter-go/lib/utils/net_utils.dart
2019-05-31 17:51:41 +08:00

57 lines
1.8 KiB
Dart

import 'dart:async';
import 'dart:io';
import 'package:cookie_jar/cookie_jar.dart';
import 'package:dio/dio.dart';
import 'package:path_provider/path_provider.dart';
Map<String,dynamic> optHeader = {
'accept-language':'zh-cn',
'content-type':'application/json'
};
var dio = new Dio(BaseOptions(connectTimeout: 30000,headers: optHeader));
class NetUtils {
static Future get(String url, [Map<String, dynamic> params]) async {
var response;
// 设置代理 便于本地 charles 抓包
// (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
// (HttpClient client) {
// client.findProxy = (uri) {
// return "PROXY 30.10.27.34:8888";
// };
// };
Directory documentsDir = await getApplicationDocumentsDirectory();
String documentsPath = documentsDir.path;
var dir = new Directory("$documentsPath/cookies");
await dir.create();
dio.interceptors.add(CookieManager(PersistCookieJar(dir: dir.path)));
if (params != null) {
response = await dio.get(url, queryParameters: params);
} else {
response = await dio.get(url);
}
return response.data;
}
static Future post(String url, Map<String, dynamic> params) async {
// 设置代理 便于本地 charles 抓包
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
(HttpClient client) {
client.findProxy = (uri) {
return "PROXY 30.10.27.34:8888";
};
};
Directory documentsDir = await getApplicationDocumentsDirectory();
String documentsPath = documentsDir.path;
var dir = new Directory("$documentsPath/cookies");
await dir.create();
dio.interceptors.add(CookieManager(PersistCookieJar(dir: dir.path)));
var response = await dio.post(url, data: params);
return response.data;
}
}