Fetch - Reference

Fetch 可視為進階版的 HttpClient 類別,原先繁複的呼叫都簡化為簡單的高階函數,但也允許自行控制底層物件

🚀 Struct

Struct

Description

Fetch(string uri = null)

建構子,初始化必要物件, uri 為請求網址

👨‍👨‍👧‍👧 Property

Name

Type

Scope

Description

Client

HttpClient

public

HTTP 連線主要物件

ClientHandler

HttpClientHandler

public

HTTP 連線資訊控制器

Request

HttpRequestMessage

public

HTTP 請求主要物件

Response

HttpResponseMessage

public

HTTP 回應主要物件

Url

string

public

請求網址 URL

Qs

object

public

HTTP Query String 查詢字串

Header

object

public

HTTP 標頭 Header

Cookie

object

public

HTTP Cookie

Accept

string

public

能夠接受的回應內容類型

ContentType

string

public

請求的多媒體 MIME 類型,非 GET 時,它將影響資料邊碼格式

ValidPlatform

bool

public

是否加入平台驗證 Header 資料

StatusCode

int

public

HTTP 回應狀態碼,在送出請求之前一律為 0

Proxy

string

public

網路代理,預設為 NULL

RequestEncoding

Encoding

public

送請求的資料的編碼格式,預設為 UTF-8

MaxDownloadSize

int

public

方法 GetBinary() 的資源大小上限,預設 25MB

⚡ Method

⚡ public string Get(object qs = null)

發送 HTTP GET 請求,取得回傳資料後以字串回傳,請求失敗時 (200~299之外) 將回傳 NULL

params

  • qs : 查詢字串 Query String

returns

HTTP 回應的內容

⚡ public T Get<T>(object qs = null)

發送 HTTP GET 請求,Accept 將設為 application/json 預期取得 JSON 資料,並將資料反序列化綁定到資料模型 T 中,請求失敗時 (200~299之外) 將回傳 NULL

params

  • T : 指定綁定的資料型態 T

  • qs : 查詢字串

returns

綁定資料的資料模型

⚡ public byte[] GetBinary(object qs = null)

發送 HTTP GET,直接以 byte 方式將資料讀入後回傳,請求失敗時 (200~299之外) 將回傳 NULL

params

  • qs : 查詢字串

returns

HTTP 回應的內容

⚡ public string Post(object data = null, object qs = null, object files = null)

發送 HTTP POST 請求,取得回傳資料後以字串回傳,請求失敗時 (200~299之外) 將回傳 NULL (如果有 file 傳送檔案,ContentType 將設為 multipart/form-data)

params

  • data : 資料

  • qs : 查詢字串

  • files : 檔案

returns

HTTP 回應的內容

⚡ public T Post<T>(object data = null, object qs = null, object files = null)

發送 HTTP POST 請求,Accept 將設為 application/json 預期取得 JSON 資料,並將資料反序列化綁定到資料模型 T 中,請求失敗時 (200~299之外) 將回傳 NULL (如果有 file 傳送檔案,ContentType 將設為 multipart/form-data)

params

  • T : 指定綁定的資料型態

  • data : 資料

  • qs : 查詢字串

  • files : 檔案

returns

綁定資料的資料模型

⚡ public string Delete(object data = null, object qs = null, object files = null)

發送 HTTP DELETE 請求,取得回傳資料後以字串回傳,請求失敗時 (200~299之外) 將回傳 NULL

params

  • data : 資料

  • qs : 查詢字串

  • files : 檔案

returns

HTTP 回應的內容

⚡ public T Delete<T>(object data = null, object qs = null, object files = null)

發送 HTTP DELETE 請求,Accept 將設為 application/json 預期取得 JSON 資料,並將資料反序列化綁定到資料模型 T 中,請求失敗時 (200~299之外) 將回傳 NULL (如果有 file 傳送檔案,ContentType 將設為 multipart/form-data)

params

  • T : 指定綁定的資料型態

  • data : 資料

  • qs : 查詢字串

  • files : 檔案

returns

綁定資料的資料模型

⚡ public string Put(object data = null, object qs = null, object files = null)

發送 HTTP PUT 請求,取得回傳資料後以字串回傳,請求失敗時 (200~299之外) 將回傳 NULL

params

  • data : 資料

  • qs : 查詢字串

  • files : 檔案

returns

HTTP 回應的內容

⚡ public T Put<T>(object data = null, object qs = null, object files = null)

發送 HTTP PUT 請求,Accept 將設為 application/json 預期取得 JSON 資料,並將資料反序列化綁定到資料模型 T 中,請求失敗時 (200~299之外) 將回傳 NULL (如果有 file 傳送檔案,ContentType 將設為 multipart/form-data)

params

  • T : 指定綁定的資料型態

  • data : 資料

  • qs : 查詢字串

  • files : 檔案

returns

綁定資料的資料模型

⚡ public string GetResponse()

以純文字方式取得發送請求後的回應結果,尚未發送請求前預設為 NULL

params

returns

HTTP 回應的資料

⚡ public byte[] GetBinaryResponse()

byte[] 方式取得發送請求後的回應結果,尚未發送請求前預設為 NULL

params

returns

HTTP 回應的資料

⚡ public HttpResponseHeaders GetResponseHeaders()

取得發送請求後的所有 HTTP Header 資料

params

returns

HTTP 所有回應的標頭

⚡ public string GetResponseHeader(string key)

取得發送請求後指定 key 名稱的 HTTP Header 資料,如果找不到該資料將回傳 NULL

params

  • key : Header 名稱

returns

HTTP 回應的特定標頭數值

⚡ public T GetResponseHeader<T>(string key, T defaultVal = default)

取得發送請求後指定 key 名稱的 HTTP Header 資料,並自動轉型成指定型態,如果找不到該資料將回傳第二個參數 default

params

  • key : Header 名稱

  • defaultVal : 預設的數值

returns

HTTP 回應的特定標頭數值

⚡ public MultipartFormDataContent BuildMultipartFormDataContent(object data = null, object files = null)

將資料邊碼成 Multipart Form

params

  • data : 資料

  • files : 檔案

returns

請求的內容物件

⚡ public FormUrlEncodedContent BuildFormUrlEncodedContent(object data)

將資料邊碼成 Url Encoded Form

params

  • data : 資料

returns

請求的內容物件

⚡ public StringContent BuildStringContent(string data = null)

將資料邊碼成純文字格式

params

  • data : 資料

returns

請求的內容物件

⚡ public bool Send()

手動送出請求 (注意:每個 Fetch 物件只能發送一次請求)

params

returns

是否回傳 200 OK 成功

⚡ public void Dispose()

釋放 Fetch 所有使用的物件

params

Last updated

Was this helpful?