Unirest 是一个轻量级的 HTTP 请求库,涵盖 Node、Ruby、Java、PHP、Python、Objective-C、.NET 等多种语言。可发起 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS 请求。
//来源网站:http://unirest.io/net.html
安装
我们正在更新Nuget指向最新的包。 与此同时,请下载整个unirest-net图书馆和在您的项目中引用它。
创建请求
所以您可能想知道如何使用Unirest使创建请求。 网络更容易,这是一个基本的POST请求,范例:
HttpResponse<MyClass> jsonResponse = Unirest.post("http://httpbin.org/post")
.header("accept", "application/json")
.field("parameter", "value")
.field("foo", "bar")
.asJson<MyClass>();
请求时 (类型)()
被调用时,可能的类型包括什么 Json
, 二进制
, 字符串
。 如果请求支持,身体可以传递 .body(字符串)
或身体< T >(T)
将对象序列化JSON。 如果你已经有一个字典参数或不希望使用分离场的方法对于每一个人都有一个 。 字段(字典<字符串、对象>参数)
方法将每个键-值序列化形式参数对你的要求。
。 标题(字典<字符串,字符串>头)
还支持在更换多个标题的方法。
异步请求
有时,大多数时候,你想让你的应用程序异步,而不是阻止,Unirest支持这个。 净与TPL模式和异步/等待:
Task<HttpResponse<MyClass>> myClassTask = Unirest.post("http://httpbin.org/post")
.header("accept", "application/json")
.field("param1", "value1")
.field("param2", "value2")
.asJsonAsync<MyClass>();
文件上传
创建 多部分
请求。 净微不足道,仅仅传递 流
对象作为一个领域:
byte[] data = File.ReadAllBytes(@"filePath");
HttpResponse<MyClass> myClass = Unirest.post("http://httpbin.org/post")
.header("accept", "application/json")
.field("parameter", "value")
.field("files", data)
.asJson<MyClass>();
自定义实体的身体
HttpResponse<MyClass> myClass = Unirest.post("http://httpbin.org/post")
.header("accept", "application/json")
.body("{\"parameter\":\"value\", \"foo\":\"bar\"}")
.asJson<MyClass>();
请求
的。 净Unirest库遵循建筑风格惯例。 你开始构建请求通过创建一个 HttpRequest
对象,范例:
HttpRequest request = Unirest.get(String url);
HttpRequest request = Unirest.post(String url);
HttpRequest request = Unirest.put(String url);
HttpRequest request = Unirest.patch(String url);
HttpRequest request = Unirest.delete(String url);
响应
在收到一个响应Unirest返回结果的形式一个对象,这个对象应该为每种语言有相同的密钥对响应的细节。
.Code
- HTTP响应状态码(200例).Headers
- - - - - - HTTP响应头.Body
——解析响应主体适用,例如解析JSON响应对象/关联数组。.Raw
——Un-parsed响应主体