C#REST API客户端

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

如果有人能指出我所看到的教程,或某个地方的图书馆,我将不胜感激。

谢谢。

看看RESTSharp 。 非常强大,易于使用。

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

您可以使用HttpWebRequest或WebClient来制作Web请求,就像在PHP客户端中使用CURL一样…

如果您需要处理基于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中使用HttpClient 。
如果您使用的是usint .NET 4.0,则可以在Microsoft.Net.Http nuget中使用HttpClient API。

您可能还想看看Hammock.NET @ http://hammock.codeplex.com/ ; 与之合作是一种快乐。 你真的不需要WCF。

如果使用Swagger记录您的PHP REST API后端,例如使用swagger-php ,您可以使用swagger-codegen使用描述PHP后端的Swagger规范生成C#,Java,PHP,Ruby,Python等API客户端。