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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。