客户端连接的 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
future,一旦有响应就会完成。无设置器重写 - 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< ) → voidint> data - 将字节
data
添加到目标消费者,忽略 编码。继承 -
addError(
Object error, [StackTrace? stackTrace]) → void - 将错误作为错误事件传递给目标消费者。继承
-
addStream(
Stream< List< stream) → Futureint> > - 添加给定
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 - 相等运算符。继承