如何用C#编写REST Get-Request?

时间:2012-09-03 15:18:16

标签: c# api rest curl get

我是C#的新手,仍然试图熟悉它的环境。

我想在Get-Mode中创建REST请求。给我API-Access的人提供了以下信息:

HTTP Methods: GET
Authentication: None
Formats: xml
Parameters: format, apikey [GET], lang [GET], q [GET]
CURL Example: curl --get --data lang="de" --data q="query" --data apikey="QWERTY123456" http://jokr.info/api/v8/search/item.xml

我不知道怎么把它放在C#中。 我尝试使用 WebClient ,但我不知道如何使用参数实现我的请求。

2 个答案:

答案 0 :(得分:4)

有一个受欢迎的图书馆RestSharp

这是一个例子:

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

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

转换为http://example.com/api?foo=bar

答案 1 :(得分:2)

试试这个

string URI = "http://jokr.info/api/v8/search/item.xml"; 
string myParameters = "myparam1=value1 & myparam2=value";

using (WebClient webClient = new WebClient()) {
    webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    string HtmlResult = webClient.UploadString(URI, myParameters);  
}