dart:io
庫中RawSecureSocket.connect
方法的用法介紹如下。
用法:
Future<RawSecureSocket> connect(
dynamic host,
int port,
{SecurityContext? context,
bool onBadCertificate(
X509Certificate certificate
)?,
void keyLog(
String line
)?,
List<String>? supportedProtocols,
Duration? timeout}
)
override
構造一個新的安全客戶端套接字並將其連接到給定端口上的給定主機。
返回的Future 與RawSecureSocket
在連接並準備好訂閱時完成。
服務器提供的證書使用在 SecurityContext 對象中設置的可信證書進行檢查,如果在客戶端上設置了證書和 key ,則使用 SecurityContext.useCertificateChain 和 SecurityContext.usePrivateKey ,並且服務器要求客戶端證書,然後該客戶端證書被發送到服務器。
onBadCertificate
是不可驗證證書的可選處理程序。處理程序接收到 X509Certificate ,並且可以檢查它並決定(或讓用戶決定)是否接受連接。處理程序應返回 true 以繼續 RawSecureSocket
連接。
onBadCertificate
是不可驗證證書的可選處理程序。處理程序接收到 X509Certificate ,並且可以檢查它並決定(或讓用戶決定)是否接受連接。處理程序應返回 true 以繼續 SecureSocket 連接。
keyLog
是一個可選回調,當與服務器交換新的 TLS key 時將調用該回調。每次調用keyLog
將在NSS Key Log Format 中接收一行文本。將這些行寫入文件將允許工具(例如 Wireshark )解密通過此套接字發送的內容。這意味著允許network-level 調試安全套接字,不應在生產代碼中使用。例如:
final log = File('keylog.txt');
final socket = await SecureSocket.connect('www.example.com', 443,
keyLog: (line) => log.writeAsStringSync(line, mode: FileMode.append));
supportedProtocols
是在與服務器進行 ALPN 協議協商期間使用的可選協議列表(按優先級降序排列)。示例值為 "http/1.1" 或 "h2"。可以通過 RawSecureSocket.selectedProtocol 獲得所選協議。
相關用法
- Dart RawSecureSocket.secure用法及代碼示例
- Dart RawReceivePort.handler用法及代碼示例
- Dart Random用法及代碼示例
- Dart Random.nextDouble用法及代碼示例
- Dart Random.nextInt用法及代碼示例
- Dart Random.nextBool用法及代碼示例
- Dart RegExp.pattern用法及代碼示例
- Dart RegExp.isCaseSensitive用法及代碼示例
- Dart RegExp.allMatches用法及代碼示例
- Dart RtcStatsReport.containsKey用法及代碼示例
- Dart RtcStatsReport.containsValue用法及代碼示例
- Dart RuneIterator.moveNext用法及代碼示例
- Dart Runes用法及代碼示例
- Dart RtcStatsReport.remove用法及代碼示例
- Dart RtcStatsReport.putIfAbsent用法及代碼示例
- Dart RtcStatsReport.addAll用法及代碼示例
- Dart RegExp.hasMatch用法及代碼示例
- Dart Rectangle構造函數用法及代碼示例
- Dart RegExp用法及代碼示例
- Dart RegExp構造函數用法及代碼示例
- Dart RegExp.stringMatch用法及代碼示例
- Dart Rectangle.fromPoints用法及代碼示例
- Dart RtcStatsReport.clear用法及代碼示例
- Dart RegExp.firstMatch用法及代碼示例
- Dart RegExpMatch用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 connect method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。