HttpClientRequest抽象 接口

客户端连接的 HTTP 请求。

要设置请求,请使用此类提供的 headers 属性设置头部,并将数据写入请求体。 HttpClientRequest 是一个 IOSink。使用 IOSink 中的方法,如 writeCharCode(),来写入 HTTP 请求体。当第一次使用 IOSink 的方法时,将发送请求头部。在发送后调用任何更改头部的函数会抛出异常。

通过 IOSink 写入字符串数据时,使用的编码由 "Content-Type" 头部中的 "charset" 参数确定。

var client = HttpClient();
HttpClientRequest request = await client.get('localhost', 80, '/file.txt');
request.headers.contentType =
    ContentType('application', 'json', charset: 'utf-8');
request.write('text content👍🎯'); // Strings written will be UTF-8 encoded.

如果没有提供字符集,则默认使用 ISO-8859-1(拉丁 1)。

var client = HttpClient();
HttpClientRequest request = await client.get('localhost', 80, '/file.txt');
request.headers.add(HttpHeaders.contentTypeHeader, "text/plain");
request.write('blåbærgrød'); // Strings written will be ISO-8859-1 encoded

如果在使用不支持的编码和 write() 方法带有字符串参数时抛出异常。

实现类型

构造函数

HttpClientRequest()

属性

bufferOutput bool
获取或设置 HttpClientRequest 是否缓冲输出。
getter/setter 对
connectionInfo HttpConnectionInfo?
获取客户端连接信息。
无设置器
contentLength int
获取和设置请求的内容长度。
getter/setter 对
cookies List<Cookie>
发送给服务器的 Cookie(在 'cookie' 头部中)。
无设置器
done Future<HttpClientResponse>
一个 HttpClientResponse 未来的,当响应可用时完成。
无设置器重写
encoding Encoding
写入字符串时使用的 Encoding
getter/setter 对继承
followRedirects bool
是否自动跟踪重定向。
getter/setter 对
hashCode int
此对象的哈希码。
无设置器继承
headers HttpHeaders
返回客户端请求头部。
无设置器
maxRedirects int
将此属性设置为核心为followRedirectstrue时需要跟随的最大重定向次数。如果超过此数,将添加一个带有RedirectException的错误事件。
getter/setter 对
method String
请求的方法。
无设置器
persistentConnection bool
请求的持久连接状态。
getter/setter 对
runtimeType Type
对象运行时类型的表示。
无设置器继承
uri Uri
请求的uri地址。
无设置器

方法

abort([Object? exception, StackTrace? stackTrace]) → void
终止客户端连接。
add(List<int> data) → void
将字节data添加到目标消费者,忽略编码
继承
addError(Object error, [StackTrace? stackTrace]) → void
将错误作为错误事件传递给目标消费者。
继承
addStream(Stream<List<int>> stream) Future
添加给定stream的所有元素。
继承
close() Future<HttpClientResponse>
关闭请求的输入。返回done的值。
覆盖
flush() Future
返回一个Future,一旦所有缓冲数据被底层StreamConsumer接受,它就会完成。
继承
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时被调用。
继承
toString() String
此对象的字符串表示。
继承
write(Object? object) → void
通过调用 Object.toStringobject 转换为 String,并将结果的编码添加到目标消费者。
继承
writeAll(Iterable objects, [String separator = ""]) → void
遍历给的 objects 并按顺序 write
继承
writeCharCode(int charCode) → void
写入 charCode 的字符。
继承
writeln([Object? object = ""]) → void
通过调用 Object.toStringobject 转换为 String,并将其写入此 this,之后跟一个换行符。
继承

操作符

operator ==(Object other) bool
相等操作符。
继承