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
: 指定綁定的資料型態 Tqs
: 查詢字串
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?