v0.1.0
system_proxy
시스템 플러그인을 가져오는 Flutter 플러그인입니다. dart HttpClient의 프록시를 설정하여 요청을 가져오기 위해 사용합니다.
23좋아요 1만30일 다운로드150Pub 점수
AndroidiOS
시스템 플러그인을 가져오기 위한 플러터 플러그인입니다. 요청을 가져오기 위해 다트 HttpClient 프록시를 설정하는 데 사용합니다
{"sdk":"flutter"}{"sdk":"flutter"}아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
A Flutter Plugin to get system proxy setting. It is used to proxy for Flutter and Dart HttpClient request。Because Dart HttpClient does not adapt the system proxy setting automatically in default, it's difficult to grab requests for testing .
获取系统代理配置。
可用于为flutter的Dart HttpClient的请求设置代理,因为默认Dart请求不会理睬系统代理配置,这对于抓取请求来进行测试等场景造成不小困难。
Please add the plugin to pubspec.yaml.
It's useful for Android >= 23 .
Import
import 'package:system_proxy/system_proxy.dart';
Code
// the proxy value likes: {port: 8899, host: 127.0.0.1}
Map<String, String> proxy = await SystemProxy.getProxySettings();
if (proxy != null) {
print('proxy $proxy');
}
class ProxiedHttpOverrides extends HttpOverrides {
String _port;
String _host;
ProxiedHttpOverrides(this._host, this._port);
@override
HttpClient createHttpClient(SecurityContext context) {
return super.createHttpClient(context)
// set proxy
..findProxy = (uri) {
return _host != null ? "PROXY $_host:$_port;" : 'DIRECT';
};
}
}
void main() async {
Map<String, String> proxy = await SystemProxy.getProxySettings();
if (proxy == null) {
proxy = {
'host': null,
'port': null
};
}
HttpOverrides.global = new ProxiedHttpOverrides(proxy['host'], proxy['port']);
runApp(MyApp());
}