• 一款 .NET 下的轻量级 REST 和 HTTP API 客户端


    项目地址:https://github.com/restsharp/RestSharp

    Features

    • Supports .NET 3.5+, Silverlight 4, Windows Phone 7, Mono, MonoTouch, Mono for Android, Compact Framework 3.5
    • Easy installation using NuGet for most .NET flavors
    • Automatic XML and JSON deserialization
    • Supports custom serialization and deserialization via ISerializer and IDeserializer
    • Fuzzy element name matching ('product_id' in XML/JSON will match C# property named 'ProductId')
    • Automatic detection of type of content returned
    • GET, POST, PUT, HEAD, OPTIONS, DELETE supported
    • Other non-standard HTTP methods also supported
    • oAuth 1, oAuth 2, Basic, NTLM and Parameter-based Authenticators included
    • Supports custom authentication schemes via IAuthenticator
    • Multi-part form/file uploads
    • T4 Helper to generate C# classes from an XML document

    示例代码:

    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
    
    // add parameters for all properties on an object
    request.AddObject(object);
    
    // or just whitelisted properties
    request.AddObject(object, "PersonId", "Name", ...);
    
    // 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();
    IRestResponse<Person> response2 = client.Execute<Person>(request);
    var name = response2.Data.Name;
    
    // or download and save file to disk
    client.DownloadData(request).SaveAs(path);
    
    // 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();

    可参考网址:

    http://www.cnblogs.com/shanyou/archive/2012/01/27/RestSharp.html

    谢谢浏览!

  • 相关阅读:
    web服务器,应用程序服务器,http服务器的区别
    tomcat、weblogic、jboss的区别,容器的作用
    linux系统编辑神器 -vim用法大全
    web弹出对话框
    c#获取打印机列表
    cookie
    lodop打印多页
    lodop判断是否打印成功
    一般处理程序
    让图片在div中居中
  • 原文地址:https://www.cnblogs.com/Music/p/RestSharp.html
Copyright © 2020-2023  润新知