2012-03-10 15 views
11

Estoy buscando una biblioteca para .net, que me permita tener control total sobre lo que se envía a través de la red. Voy a usarlo para experimentos http. Conozco HttpWebRequest de C#, y quiero probar algo diferente, porque no puedo controlar todos los encabezados (¿alguna vez trataste de cambiar el caso del encabezado Keep-Alive que envía?) O ignorar selectivamente los errores del certificado. Quiero experimentar con esto. Mi idioma de elección es C#.Buena biblioteca http de bajo nivel para .Net

¿Alguien puede recomendar una buena biblioteca http, lo que me permitiría entrometerme con las cosas de bajo nivel cuando quiero, pero no me agobiaría cuando no lo haga?

Respuesta

11

No creo que puedas vencer al nuevo cliente web que fue lanzado el 16 de febrero por Microsoft aunque en forma beta. Ciertamente está listo para usar en producción. Puedes agarrarlo a través de NuGet. El paquete se llama System.Net.Http.

"Este paquete proporciona una interfaz de programación para la aplicación HTTP moderna. El paquete incluye HttpClient para enviar solicitudes a través de HTTP, así como HttpRequestMessage y HttpResponseMessage".

El nuevo HttpWebClient le da un control total de la respuesta. Se pueden añadir cabeceras tan fácil como esto:

 var response = new HttpResponseMessage<MyModel>(model, HttpStatusCode.Ok); 
     response.Headers.Add("test", "test"); 

Aquí es una gran introducción a la nueva HttpClient, http://code.msdn.microsoft.com/Introduction-to-HttpClient-4a2d9cee. Tenga en cuenta que este es el nuevo HttpWebClient. He usado el viejo cliente y es un verdadero placer usarlo.

Una actualización rápida sobre la concesión de licencias. La API web y la porción HttpClient de la misma admiten una licencia de "activación" que le permite crear e implementar aplicaciones de producción con ella.

actualización

Microsoft acaba de publicar algunos grandes ejemplos HttpClient en CodePlex en http://aspnet.codeplex.com/SourceControl/list/changesets. Si eres nuevo en HttpClient, échales un vistazo.

+0

+1. Este mismo cliente está incluido en las versiones preliminares/beta de .NET 4.5. Es LA API de primera clase para hacer HTTP desde un lenguaje .NET. –

+0

Sí, es parte de .NET 4.5 y MVC 4. – Mark

+1

HttpClient no tiene ningún nivel bajo. De hecho, es un envoltorio alrededor de HttpWebRequest. – imlokesh

Cuestiones relacionadas