客户端连接的 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。没有设置器
- 服务器设置的 Cookie(来自 'set-cookie' 头)。没有设置器
-
first → Future<
List< int> > - 此 Stream 的第一个元素。没有设置器继承
- hashCode → int
- 此对象的哈希码。没有设置器继承
- headers → HttpHeaders
- 返回客户端响应头。没有设置器
- isBroadcast → bool
- 是否此 Stream 是广播流。没有设置器继承
-
isEmpty → Future<
bool> - 是否此 Stream 包含任何元素。没有设置器继承
- isRedirect → bool
- 返回状态码是否是常规重定向代码之一 HttpStatus.movedPermanently、HttpStatus.found、HttpStatus.movedTemporarily、HttpStatus.seeOther 和 HttpStatus.temporaryRedirect。没有设置器
-
last → Future<
List< int> > - 此 Stream 的最后一个元素。没有设置器继承
-
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< ) → Stream<List< subscription)?, void onCancel(StreamSubscription<int> ><List< int> >List< subscription)?}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<
E> ([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< int> )) → Future<S> - 通过反复应用
combine
结合值序列。继承 -
forEach(
void action(List< ) → Future<int> element)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> > - 查找符合
test
的此流中的单个元素。继承 -
skip(
int count) → Stream< List< int> > - 跳过来自此流的第一个
count
个数据事件。继承 -
skipWhile(
bool test(List element)) → Stream< List> - 在事件匹配
test
条件之前,跳过此流中的数据事件。继承 -
take(
int count) → Stream< List> - 提供此流的最多前
count
个数据事件。继承 -
takeWhile(
bool test(List element)) → Stream< List> - 当
test
成功时,继续前向传输数据事件。继承 -
timeout(
Duration timeLimit, {void onTimeout(EventSink sink)?}) → Stream< List> - 创建一个拥有与此流相同事件的新的流。继承
-
toList(
) → Future< List> - 将此流的全部元素收集到
List
中。继承 -
toSet(
) → Future< Set> - 将此流中的数据收集到
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 - 等于运算符。继承