2011-02-11 40 views
25

He creado con éxito una API REST de PHP que reside en mi servidor. Ahora estoy buscando crear la conexión del lado del cliente a esto a través de mi aplicación WPF C#. Encontré this pero mi API requiere que se envíe la clave de la API a través de un encabezado HTTP, y no veo que pueda hacer eso en esto. También creé un cliente PHP REST usando CURL y fue muy fácil, y esperaba que hubiera algo integrado en C# para manejar las solicitudes a los servicios REST.C# REST API Client

Si alguien pudiera indicarme un tutorial que hayan visto, o una biblioteca en alguna parte, le estaría agradecido.

Gracias.

Respuesta

46

Eche un vistazo a RESTSharp. Muy poderoso y fácil de usar.

Obras en todas las plataformas también: Web, Windows, WCF, MonoTouch, Windows Phone

+0

Perfecto, ¡justo lo que estaba buscando! –

5

Es posible que también desee comprobar hacia fuera Hammock.NET @http://hammock.codeplex.com/; es un placer trabajar con él Realmente no necesitas WCF con toda probabilidad.

12

Usted sólo puede usar HttpWebRequest o WebClient para hacer peticiones web al igual que tendría con rizo en su cliente de PHP ...

Si tiene que lidiar con las respuestas basadas JSON, JSON.Net es una biblioteca fantástica.

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

También puede usar HttpClient en .NET 4.5.
Si está utilizando .NET 4.0, la API HttpClient está disponible en Microsoft.Net.Http nuget.

+0

Esta es la respuesta según las nuevas bibliotecas DotNet 4.5. – Askolein

1

Si el backend de PHP REST API está documentado con Swagger, p. usando swagger-php, puede usar swagger-codegen para generar los clientes API en C#, Java, PHP, Ruby, Python y más utilizando las especificaciones Swagger que describen su back-end PHP.