2011-02-11 287 views
25

我已成功創建駐留在我的服務器上的PHP REST API。我現在正在通過我的WPF C#應用程序創建客戶端連接。我發現this,但我的API需要API密鑰通過HTTP頭髮送,我看不到你可以這樣做。我還使用CURL創建了一個PHP REST客戶端,這非常簡單,並且希望C#中內置一些處理對REST服務的請求。C#REST API客戶端

如果有人能指點我看他們看到的教程的方向,或者我會很感激一個圖書館。

謝謝。

回答

46

看看RESTSharp。非常強大,易於使用。

所有平臺上的作品太:網絡,窗口,WCF,MonoTouch的,Windows Phone的

+0

完美,正是我所期待的! – 2011-02-12 10:22:59

12

你可以只使用HttpWebRequestWebClient Web請求就像你有你的PHP客戶端捲曲...

如果您需要處理基於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 
} 
6

也可以在.NET 4.5中使用HttpClient
如果您使用.NET 4.0,則HttpClient API可用於Microsoft.Net.Http nuget。

+0

這是根據新的DotNet 4.5庫的答案。 – Askolein 2014-01-23 12:59:57

1

如果您的PHP REST API後端使用Swagger記錄,使用swagger-php,您可以使用swagger-codegen使用描述您PHP後端的Swagger規範來生成C#,Java,PHP,Ruby,Python等API客戶端。