HttpClientResponse抽象 接口

HTTP 客户端连接的响应。

HttpClientResponse 对象的主体是来自服务器的 Stream 数据。使用 Stream 方法如 Stream.transformStream.join 来访问数据。

var client = HttpClient();
try {
  HttpClientRequest request = await client.get('localhost', 80, '/file.txt');
  HttpClientResponse response = await request.close();
  final stringData = await response.transform(utf8.decoder).join();
  print(stringData);
} finally {
  client.close();
}
实现类型

属性

certificate X509Certificate?
返回提供响应的 HTTPS 服务器的证书。如果连接不是安全的 TLS 或 SSL 连接,则返回 null。
没有设置器
compressionState HttpClientResponseCompressionState
响应的压缩状态。
没有设置器
connectionInfo HttpConnectionInfo?
获取客户端连接的信息。如果套接字不可用,则返回 null
没有设置器
contentLength int
返回响应体的内容长度。如果事先不知道响应体的大小,则返回 -1。
没有设置器
cookies List<Cookie>
由服务器设置的 Cookies(来自 'set-cookie' 标头)。
没有设置器
first Future<List<int>>
此流的第一个元素。
没有设置器继承
hashCode int
此对象的哈希码。
没有设置器继承
headers HttpHeaders
返回客户端响应头。
没有设置器
isBroadcast bool
此流是否为广播流。
没有设置器继承
isEmpty Future<bool>
此流是否包含任何元素。
没有设置器继承
isRedirect bool
返回状态码是否是以下正常重定向代码之一: HttpStatus.movedPermanentlyHttpStatus.foundHttpStatus.movedTemporarilyHttpStatus.seeOtherHttpStatus.temporaryRedirect
没有设置器
last Future<List<int>>
此流的最后一个元素。
没有设置器继承
length Future<int>
此流中的元素数量。
没有设置器继承
persistentConnection bool
获取服务器返回的持久连接状态。
没有设置器
reasonPhrase String
返回与状态码相关联的原因短语。
没有设置器
redirects List<RedirectInfo>
返回此连接所经过的一系列重定向。如果没有跟随任何重定向,则列表将为空。在自动重定向和手动重定向的情况下都会更新 redirects
没有设置器
runtimeType Type
对象运行时类型的表示。
没有设置器继承
single Future<List<int>>
此流的单个元素。
没有设置器继承
statusCode int
返回状态码。
没有设置器

方法

any(bool test(List<int> element)) Future<bool>
检查是否 test 接受此流提供的任何元素。
继承
asBroadcastStream({void onListen(StreamSubscription<List<int>> subscription)?, void onCancel(StreamSubscription<List<int>> subscription)?}) Stream<List<int>>
返回一个多订阅流,它产生与该流相同的事件。
继承
asyncExpand<E>(Stream<E>? convert(List<int> event)) Stream<E>
将每个元素转换为异步事件序列。
继承
asyncMap<E>(FutureOr<E> convert(List<int> event)) Stream<E>
创建一个新的流,其中每个数据事件都被异步映射到新事件。
继承
cast<R>() Stream<R>
适配此流以成为 Stream<R>
继承
contains(Object? needle) Future<bool>
返回是否在由此流提供的元素中发生 needle
继承
detachSocket() Future<Socket>
从 HTTP 客户端断开底层套接字。当套接字断开时,HTTP 客户端将不再对其执行任何操作。
distinct([bool equals(List<int> previous, List<int> next)?]) Stream<List<int>>
如果数据事件与上一个数据事件相等,则跳过数据事件。
继承
drain<E>([E? futureValue]) Future<E>
丢弃此流上的所有数据,但在完成或发生错误时发出信号。
继承
elementAt(int index) Future<List<int>>
返回该流中第 index 个数据事件的值。
继承
every(bool test(List<int> element)) Future<bool>
检查 test 是否接受该流提供的所有元素。
继承
expand<S>(Iterable<S> convert(List<int> element)) Stream<S>
将此流中的每个元素转换成一系列元素。
继承
firstWhere(bool test(List<int> element), {List<int> orElse()?}) Future<List<int>>
找到该流中符合 test 的第一个元素。
继承
fold<S>(S initialValue, S combine(S previous, List<int> element)) Future<S>
通过重复应用 combine 来组合一系列值。
继承
forEach(void action(List<int> element)) Future<void>
对此流中的每个元素执行 action
继承
handleError(Function onError, {bool test(dynamic error)?}) Stream<List<int>>
创建一个包装流,拦截此流中的某些错误。
继承
join([String separator = ""]) Future<String>
将元素的字面表示组合成一个字符串。
继承
lastWhere(bool test(List<int> element), {List<int> orElse()?}) Future<List<int>>
找到匹配 test 的此流中的最后一个元素。
继承
listen(void onData(List<int> event)?, {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<List<int>>
为此流添加一个订阅。
继承
map<S>(S convert(List<int> event)) Stream<S>
将此流的每个元素转换为新的流事件。
继承
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
pipe(StreamConsumer<List<int>> streamConsumer) Future
将此流的事件引入到streamConsumer中。
继承
redirect([String? method, Uri? url, bool? followLoops]) Future<HttpClientResponse>
将此连接重定向到新URL。默认的method是当前请求的方法。默认的url是当前响应的HttpHeaders.locationHeader头部的值。必须在调用redirect之前从当前响应中读取所有正文数据。
reduce(List<int> combine(List<int> previous, List<int> element)) Future<List<int>>
通过重复应用 combine 来组合一系列值。
继承
singleWhere(bool test(List<int> element), {List<int> orElse()?}) Future<List<int>>
查找与此流匹配的单个元素。
继承
skip(int count) Stream<List<int>>
跳过此流中的前 count 个数据事件。
继承
skipWhile(bool test(List<int> element)) Stream<List<int>>
当数据事件与 test 匹配时,跳过此流中的数据事件。
继承
take(int count) Stream<List<int>>
提供此流的前 count 个数据事件,最多。
继承
takeWhile(bool test(List<int> element)) Stream<List<int>>
test 成功时,传递数据事件。
继承
timeout(Duration timeLimit, {void onTimeout(EventSink<List<int>> sink)?}) Stream<List<int>>
创建一个具有与此流相同事件的新的流。
继承
toList() Future<List<List<int>>>
将此流的所有元素收集到一个 List 中。
继承
toSet() Future<Set<List<int>>>
将此流的数据收集到Set中。
继承
toString() String
此对象的字符串表示。
继承
transform<S>(StreamTransformer<List<int>, S> streamTransformer) Stream<S>
streamTransformer应用于此流。
继承
where(bool test(List<int> event)) Stream<List<int>>
从此流创建一个新流,丢弃一些元素。
继承

运算符

operator ==(Object other) bool
相等运算符。
继承