【问题标题】:How to perform a get request with RestSharp?如何使用 RestSharp 执行获取请求?
【发布时间】:2011-08-09 16:33:23
【问题描述】:

我无法弄清楚如何在 Windows Phone 7 上使用 RestSharp 发出 GET 请求。所有示例都显示发出 POST 请求,但我只需要 GET。我该怎么做?

【问题讨论】:

  • 这是一个不恰当的要求。你为什么不熟悉这项技术,然后自己写一个?
  • 这里发布了示例:restsharp.org/category/samples 如果您可以开始使用并在遇到困难时发布您的源代码,将会很有帮助。
  • 埃文,我知道这篇文章有点含糊。问题是,您向我展示的页面是用于发布请求,而不是获取请求。如果我要发布一些代码,我会发布我的代码,但我什至还没有到那个时候。谷歌搜索出现了不相关的信息,我不确定我需要为这个 rest 客户端使用的语法——这就是为什么我什至还没有代码。
  • 我已将问题编辑得更好(你们中的任何人都可以这样做来提供帮助)。我们可以重新打开它吗?这是一个有效的问题。

标签: windows-phone-7 restsharp


【解决方案1】:

GET 是 RestSharp 使用的默认方法,所以如果你不指定方法,它将使用 GET:

var client = new RestClient("http://example.com");
var request = new RestRequest("api");

client.ExecuteAsync(request, response => {
    // do something with the response
});

此代码将向http://example.com/api 发出 GET 请求。如果您需要添加 URL 参数,您可以这样做:

var client = new RestClient("http://example.com");
var request = new RestRequest("api");    
request.AddParameter("foo", "bar");

翻译成http://example.com/api?foo=bar

【讨论】:

    【解决方案2】:

    您要查找的内容位于here

    涵盖您的方案的代码 sn-p 如下(request.Method 应设置为 Method.GET):

    public void GetLabelFeed(string label, Action<Model.Feed> success, Action<string> failure)
    {
        string resource = "reader/api/0/stream/contents/user/-/label/" + label;
    
        var request = GetBaseRequest();
        request.Resource = resource;
        request.Method = Method.GET;
        request.AddParameter("n", 20); //number to return
    
        _client.ExecuteAsync<Model.Feed>(request, (response) =>
        {
            if (response.ResponseStatus == ResponseStatus.Error)
            {
                failure(response.ErrorMessage);
            }
            else
            {
                success(response.Data);
            }
        });
    }
    

    【讨论】:

    • 你的研究能力比我强...谢谢=)
    • 您能否总结一下链接中的信息,以免这不是仅链接的答案?
    猜你喜欢
    • 1970-01-01
    • 2022-07-18
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 2017-11-12
    相关资源
    最近更新 更多