C#REST API客户端

C#REST API客户端,c#,wpf,api,rest,C#,Wpf,Api,Rest,我已经成功地创建了驻留在服务器上的PHP REST API。我现在希望通过我的WPF C#应用程序创建与此的客户端连接。我发现,但我的API要求通过HTTP头发送API密钥,我看不出您可以在这种情况下做到这一点。我还使用CURL创建了一个PHP REST客户端,这非常简单,我希望C#中能够内置一些东西来处理对REST服务的请求 如果有人能给我指一指他们看过的教程,或者某个地方的图书馆,我将不胜感激 谢谢。看一看。功能强大,使用方便 也适用于所有平台:Web、Windows、WCF、Monotou

我已经成功地创建了驻留在服务器上的PHP REST API。我现在希望通过我的WPF C#应用程序创建与此的客户端连接。我发现,但我的API要求通过HTTP头发送API密钥,我看不出您可以在这种情况下做到这一点。我还使用CURL创建了一个PHP REST客户端,这非常简单,我希望C#中能够内置一些东西来处理对REST服务的请求

如果有人能给我指一指他们看过的教程,或者某个地方的图书馆,我将不胜感激

谢谢。

看一看。功能强大,使用方便


也适用于所有平台:Web、Windows、WCF、Monotouch、Windows Phone

您可能还想查看Hammock.NET@;和他一起工作是一种乐趣。您根本不需要WCF。

您可以像在PHP客户端中使用CURL一样使用或发出web请求

如果您需要处理基于JSON的响应,JSON.Net是一个非常棒的库

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://a/rest/uri");
request.Method = "POST";
request.Headers.Add("Authorization: OAuth " + accessToken);
string postData = string.Format("param1=something&param2=something_else");
byte[] data = Encoding.UTF8.GetBytes(postData);

request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "application/json";
request.ContentLength = data.Length;

using (Stream requestStream = request.GetRequestStream())
{
    requestStream.Write(data, 0, data.Length);
}

try
{
    using(WebResponse response = request.GetResponse())
    {
        // Do something with response
    }
}
catch (WebException ex)
{
    // Handle error
}
您也可以在.NET 4.5中使用。

如果您使用的是.NET 4.0,则nuget中提供了
HttpClient
API。

如果您的PHP REST API后端是用Swagger(例如使用)编写的,那么您可以使用描述PHP后端的Swagger规范来生成C#、Java、PHP、Ruby、Python等格式的API客户端。

完美,这正是我想要的!根据新的dotnet4.5库,这就是答案。