flutter dio http HttpClient 几种代理方式 http https socks5
Http:
(dio.httpClientAdapter as IOHttpClientAdapter).createHttpClient = () {
return HttpClient()
..findProxy = (_) {
// 这里设置代理
return "PROXY username:password@host:port";
};
};
Https
(dio.httpClientAdapter as IOHttpClientAdapter).createHttpClient = () {
return HttpClient()
..findProxy = (_) {
// 这里设置代理
return "PROXY username:password@host:port";
}
..connectionFactory = (url, proxyHost, proxyPort) {
return SecureSocket.startConnect(proxyHost!, proxyPort!);
};
};
Socks5
添加依赖
dependencies:
socks5_proxy:
git:
url: https://github.com/wilinz/socks_dart.git
代码
(dio.httpClientAdapter as IOHttpClientAdapter).createHttpClient = () {
final client = HttpClient();
SocksTCPClient.assignToHttpClient(client, [
ProxySettings('host.com', port,
username: 'username',
password: 'password',
]);
return client;
};