HTTP 客户端连接的响应。
HttpClientResponse 对象的主体是来自服务器的 Stream 数据。使用 Stream 方法如 Stream.transform 和 Stream.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(来自 'set-cookie' 标头)。没有设置器
-
first → Future<
List< int> > - 此流的第一个元素。没有设置器继承
- hashCode → int
- 此对象的哈希码。没有设置器继承
- headers → HttpHeaders
- 返回客户端响应头。没有设置器
- isBroadcast → bool
- 此流是否为广播流。没有设置器继承
-
isEmpty → Future<
bool> - 此流是否包含任何元素。没有设置器继承
- isRedirect → bool
- 返回状态码是否是以下正常重定向代码之一: HttpStatus.movedPermanently、HttpStatus.found、HttpStatus.movedTemporarily、HttpStatus.seeOther 和 HttpStatus.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< subscription)?, void onCancel(StreamSubscription<int> >List< subscription)?}) → Stream<int> >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< )) → Stream<S> convert(List<int> elementS> - 将此流中的每个元素转换成一系列元素。继承
-
firstWhere(
bool test(List< List<int> element), {int> orElse()?}) → Future<List< int> > - 找到该流中符合
test
的第一个元素。继承 -
fold<
S> (S initialValue, S combine(S previous, List< ) → Future<int> element)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< streamConsumer) → Futureint> > - 将此流的事件引入到
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< sink)?}) → Stream<int> >List< int> > - 创建一个具有与此流相同事件的新的流。继承
-
toList(
) → Future< List< List< >int> > - 将此流的所有元素收集到一个 List 中。继承
-
toSet(
) → Future< Set< List< >int> > - 将此流的数据收集到Set中。继承
-
toString(
) → String - 此对象的字符串表示。继承
-
transform<
S> (StreamTransformer< List< streamTransformer) → Stream<int> , S>S> - 将
streamTransformer
应用于此流。继承 -
where(
bool test(List< int> event)) → Stream<List< int> > - 从此流创建一个新流,丢弃一些元素。继承
运算符
-
operator ==(
Object other) → bool - 相等运算符。继承