客户端连接的 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 对
- 发送给服务器的 Cookie(在 'cookie' 头部中)。无设置器
-
done → Future<
HttpClientResponse> - 一个
HttpClientResponse
未来的,当响应可用时完成。无设置器重写 - encoding ↔ Encoding
- 写入字符串时使用的 Encoding。getter/setter 对继承
- followRedirects ↔ bool
- 是否自动跟踪重定向。getter/setter 对
- hashCode → int
- 此对象的哈希码。无设置器继承
- headers → HttpHeaders
- 返回客户端请求头部。无设置器
- maxRedirects ↔ int
- 将此属性设置为核心为followRedirects为
true
时需要跟随的最大重定向次数。如果超过此数,将添加一个带有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< stream) → Futureint> > - 添加给定
stream
的所有元素。继承 -
close(
) → Future< HttpClientResponse> - 关闭请求的输入。返回done的值。覆盖
-
flush(
) → Future - 返回一个Future,一旦所有缓冲数据被底层StreamConsumer接受,它就会完成。继承
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
toString(
) → String - 此对象的字符串表示。继承
-
write(
Object? object) → void - 通过调用 Object.toString 将
object
转换为 String,并将结果的编码添加到目标消费者。继承 -
writeAll(
Iterable objects, [String separator = ""]) → void - 遍历给的
objects
并按顺序 write。继承 -
writeCharCode(
int charCode) → void - 写入
charCode
的字符。继承 -
writeln(
[Object? object = ""]) → void - 通过调用 Object.toString 将
object
转换为 String,并将其写入此this
,之后跟一个换行符。继承
操作符
-
operator ==(
Object other) → bool - 相等操作符。继承