当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart HttpRequest用法及代码示例


dart:io 库中HttpRequest 类的用法介绍如下。

包含 HTTP 请求的内容和信息的服务器端对象。

HttpRequest 对象由 HttpServer 生成,它侦听特定主机和端口上的 HTTP 请求。对于接收到的每个请求,作为 Stream 的 HttpServer 生成一个 HttpRequest 对象并将其添加到流中。

HttpRequest 对象将请求的正文内容作为字节列表流传递。该对象还包含有关请求的信息,例如方法、URI 和标头。

在以下代码中,HttpServer 侦听 HTTP 请求。当服务器收到请求时,它使用HttpRequest 对象的method 属性来分派请求。

final HOST = InternetAddress.loopbackIPv4;
final PORT = 80;

HttpServer.bind(HOST, PORT).then((_server) {
  _server.listen((HttpRequest request) {
    switch (request.method) {
      case 'GET':
        handleGetRequest(request);
        break;
      case 'POST':
        ...
    }
  },
  onError: handleError);    // listen() failed.
}).catchError(handleError);

HttpRequest 对象通过响应属性提供对关联的HttpResponse 对象的访问。服务器将其响应写入HttpResponse 对象的主体。例如,这是一个响应请求的函数:

void handleGetRequest(HttpRequest req) {
  HttpResponse res = req.response;
  res.write('Received request ${req.method}: ${req.uri.path}');
  res.close();
}
实现的类型

Stream<Uint8List>

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 HttpRequest class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。