互联网上关于.NET(C#)的HTTP相关的辅助类还是比较多的,这里再为大家推荐一个.NET的HTTP辅助类,它叫RestSharp。RestSharp是一个轻量的,不依赖任何第三方的组件或者类库的Http的组件。RestSharp具有以下的优点:
以上是RestSharp的主要特点,通用它你可以很容易地用程序来处理一系列的网络请求(GET, POST, PUT, HEAD, OPTIONS, DELETE),并得到返回结果。
最后是官方的应用示例,就是如下这么简单:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
var
client
=
new
RestClient
(
"http://example.com"
)
;
// client.Authenticator = new HttpBasicAuthenticator(username, password);
var
request
=
new
RestRequest
(
"resource/{id}"
,
Method
.
POST
)
;
request
.
AddParameter
(
"name"
,
"value"
)
;
// adds to POST or URL querystring based on Method
request
.
AddUrlSegment
(
"id"
,
"123"
)
;
// replaces matching token in request.Resource
// easily add HTTP Headers
request
.
AddHeader
(
"header"
,
"value"
)
;
// add files to upload (works with compatible verbs)
request
.
AddFile
(
path
)
;
// execute the request
RestResponse
response
=
client
.
Execute
(
request
)
;
var
content
=
response
.
Content
;
// raw content as string
// or automatically deserialize result
// return content type is sniffed but can be explicitly set via RestClient.AddHandler();
RestResponse
<
Person
>
response2
=
client
.
Execute
<
Person
>
(
request
)
;
var
name
=
response2
.
Data
.
Name
;
// easy async support
client
.
ExecuteAsync
(
request
,
response
=
>
{
Console
.
WriteLine
(
response
.
Content
)
;
}
)
;
// async with deserialization
var
asyncHandle
=
client
.
ExecuteAsync
<
Person
>
(
request
,
response
=
>
{
Console
.
WriteLine
(
response
.
Data
.
Name
)
;
}
)
;
// abort the request on demand
asyncHandle
.
Abort
(
)
;
|