JumpKick.HttpLib — POST 請求
一、可用請求方法總覽(Http 靜態類)
// 所有方法皆回傳 RequestBuilder 鏈式物件
Http.Get(url);
Http.Post(url);
Http.Put(url);
Http.Delete(url);
Http.Patch(url);
Http.Head(url);Code language: JavaScript (javascript)
統一鏈式寫法:請求方法().參數設定().OnSuccess().OnFail().Go();
二、POST 的兩種傳參模式
.Form():表單提交Content‑Type: application/x‑www‑form‑urlencoded(網頁表單格式).Body():原始內容,適用 JSON / XML / SOAP 自訂訊息
三、範例1:Form 表單提交
using System;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
Http.Post("https://httpbin.org/post")
.Form(new
{
name = "James",
username = "j6mes"
})
.OnSuccess(result =>
{
Console.WriteLine("==== POST表單 請求成功 ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== 請求發生異常 ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Code language: JavaScript (javascript)
四、範例2:使用 Body 傳送 JSON 資料
using System;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
string jsonStr = "{\"account\":\"test\",\"pwd\":\"123456\"}";
Http.Post("https://httpbin.org/post")
.Body(jsonStr, "application/json") // 內容本體 + 指定媒體類型
.OnSuccess(result =>
{
Console.WriteLine("==== POST‑JSON 請求成功 ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== 請求發生異常 ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Code language: JavaScript (javascript)
五、範例3:模擬 POST 失敗場景
刻意呼叫不支援 POST 的位址,捕捉405錯誤,確認 OnFail 可以觸發
using System;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
// httpbin.org/get 只接受 GET,送出 POST 會回傳405
Http.Post("https://httpbin.org/get")
.Form(new
{
test = "demo"
})
.OnSuccess(result =>
{
Console.WriteLine("==== 請求成功 ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== 請求異常(已攔截405) ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Code language: JavaScript (javascript)
六、常見錯誤說明
錯誤訊息:遠端伺服器傳回錯誤:(405) 不允許的方法。
原因:目標介面僅支援 GET,不接受 POST。
處理方式:
- 改用支援 POST 的測試介面(建議使用 httpbin.org/post)
- 確認 API 允許的 HTTP 請求方式
七、GET / POST 重點比較整理
| 請求方式 | 函式 | 傳參形式 | 適用場景 |
|---|---|---|---|
| GET | Http.Get() | URL 附加參數 | 讀取查詢資料 |
| POST 表單 | Http.Post().Form() | 表單鍵值組 | 網站登入、表單送出 |
| POST JSON | Http.Post().Body() | 原始字串內容 | 前後端 API 互動 |
POST 請求
Previous: GET 請求
Next: 檔案上傳 Upload