使用Restsharp实现http请求

之前使用Postman 的时候 发现 自动生成的code 里面 的C# 代码是 使用的 Restsharp。

今天用要做http 请求,去调用其他接口,就决定使用 Restsharp 实现。

restsharp 官网http://restsharp.org

 

首先 在nuget 安装依赖包, Install-Package RestSharp -Version 106.2.2

 

贴一下官方的例子:

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
IRestResponse 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();

  我去撸代码了,也许会有补充……

posted @ 2018-05-15 17:58  Simon.lu  阅读(1611)  评论(0编辑  收藏  举报