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()` 方法接受字符串参数,则会抛出异常。

实现类型

属性

bufferOutput bool
获取或设置是否缓冲 HttpClientRequest 的输出。
getter/setter 对
connectionInfo HttpConnectionInfo?
获取客户端连接的信息。
无设置器
contentLength int
获取和设置请求的内容长度。
getter/setter 对
cookies List<Cookie>
要发送给服务器的 Cookie(在 'cookie' 头中)。
无设置器
done Future<HttpClientResponse>
一个 HttpClientResponse future,一旦有响应就会完成。
无设置器重写
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 的值。
override
flush() Future
返回一个 Future,一旦所有缓冲数据被底层 StreamConsumer 接受,则完成。
继承
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时被调用。
继承
toString() String
此对象的字符串表示形式。
继承
write(Object? object) → void
object转换为String,通过调用Object.toString和将结果的编码添加到目标消费者。
继承
writeAll(Iterable objects, [String separator = ""]) → void
遍历给定的objects并将它们按顺序写入。
继承
writeCharCode(int charCode) → void
写入charCode字符。
继承
writeln([Object? object = ""]) → void
object转换为String,通过调用Object.toString并将结果写入this,然后跟一个换行符。
继承

运算符

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