mirror of
https://github.com/alibaba/flutter-go.git
synced 2025-05-21 06:46:23 +08:00
56 lines
1.8 KiB
Dart
56 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.24.185: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.24.185: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;
|
|
}
|
|
}
|