當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。