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


Dart HttpResponse用法及代碼示例


dart:io 庫中HttpResponse 類的用法介紹如下。

HTTP 響應,它將標頭和數據從服務器返回到客戶端以響應 HTTP 請求。

每個HttpRequest 對象都通過response 屬性提供對關聯的HttpResponse 對象的訪問。服務器通過寫入HttpResponse 對象將其響應發送給客戶端。

編寫響應

此類實現 IOSink 。設置好標頭後,可以使用來自 IOSink 的方法,例如 writeln() 來編寫 HTTP 響應的正文。使用close() 方法關閉響應並將其發送給客戶端。

server.listen((HttpRequest request) {
  request.response.write('Hello, world!');
  request.response.close();
});

當第一次使用其中一個 IOSink 方法時,會發送請求標頭。在發送後調用任何更改標頭的方法都會引發異常。

設置標題

HttpResponse 對象具有許多用於設置響應的 HTTP 標頭的屬性。通過 IOSink 寫入字符串數據時,使用的編碼由"Content-Type" 標頭的"charset" 參數確定。

HttpResponse response = ...
response.headers.contentType
    = ContentType("application", "json", charset: "utf-8");
response.write(...);  // Strings written will be UTF-8 encoded.

如果未提供字符集,則將使用默認的 ISO-8859-1 (Latin 1)。

HttpResponse response = ...
response.headers.add(HttpHeaders.contentTypeHeader, "text/plain");
response.write(...);  // Strings written will be ISO-8859-1 encoded.

如果在設置不受支持的 content-type 時使用 write() 方法,則會引發異常。

實現的類型

IOSink

相關用法


注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 HttpResponse class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。