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)
- 确认接口允许的请求方式
七、GET / POST 关键对比小结
| 方式 | 函数 | 传参方式 | 适用场景 |
|---|---|---|---|
| GET | Http.Get() | URL拼接参数 | 查询数据 |
| POST表单 | Http.Post().Form() | 表单键值对 | 网页登录、表单提交 |
| POST JSON | Http.Post().Body() | 原始字符串 | 前后端接口交互 |
Previous: GET 请求
Next: 文件上传 Upload