dart:io
库中HttpClient.connectionFactory
属性的用法介绍如下。
用法:
void connectionFactory=(Future<ConnectionTask<Socket>> f(Uri url, String? proxyHost, int? proxyPort)?)
设置用于创建套接字连接的函数。
请求的 URL(例如通过 getUrl )和代理配置( f.proxyHost
和 f.proxyPort
)作为参数传递。如果连接不是通过代理建立的,f.proxyHost
和 f.proxyPort
将是 null
。
由于可以根据主机和端口重用连接,因此重要的是函数不要忽略 f.proxyHost
和 f.proxyPort
如果它们不是 null
。如果代理对返回的 Socket 没有意义,您可以设置 findProxy 以使用直接连接。
例如:
import "dart:io";
void main() async {
HttpClient client = HttpClient()
..connectionFactory = (Uri uri, String? proxyHost, int? proxyPort) {
assert(proxyHost == null);
assert(proxyPort == null);
var address = InternetAddress("/var/run/docker.sock",
type: InternetAddressType.unix);
return Socket.startConnect(address, 0);
}
..findProxy = (Uri uri) => 'DIRECT';
final request = await client.getUrl(Uri.parse("http://ignored/v1.41/info"));
final response = await request.close();
print(response.statusCode);
await response.drain();
client.close();
}
相关用法
- Dart HttpClient.findProxy用法及代码示例
- Dart HttpClient.findProxyFromEnvironment用法及代码示例
- Dart HttpClient.keyLog用法及代码示例
- Dart HttpClientRequest用法及代码示例
- Dart HttpClient用法及代码示例
- Dart HttpClientResponse用法及代码示例
- Dart HttpClientRequest.followRedirects用法及代码示例
- Dart HttpClientRequest.abort用法及代码示例
- Dart HttpRequest.postFormData用法及代码示例
- Dart HttpOverrides用法及代码示例
- Dart HttpServer.defaultResponseHeaders用法及代码示例
- Dart HttpRequest.request用法及代码示例
- Dart HttpDate.parse用法及代码示例
- Dart HttpRequest用法及代码示例
- Dart HttpHeaders用法及代码示例
- Dart HttpServer用法及代码示例
- Dart HttpRequest.getString用法及代码示例
- Dart HttpRequest构造函数用法及代码示例
- Dart HttpResponse用法及代码示例
- Dart HtmlCollection.last用法及代码示例
- Dart HtmlEscape用法及代码示例
- Dart HtmlEscapeMode用法及代码示例
- Dart HtmlCollection.elementAt用法及代码示例
- Dart HtmlCollection.length用法及代码示例
- Dart HtmlDocument.registerElement2用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 connectionFactory property。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。