C # – Cómo hacer una llamada HTTP

Quería hacer una llamada HTTP a un sitio web. Solo necesito presionar la URL y no quiero cargar o descargar ningún dato. ¿Cuál es la forma más fácil y rápida de hacerlo?

Probé a continuación el código pero es lento y después de la segunda solicitud repetitiva simplemente entra en tiempo de espera para 59 segundos y que resume:

WebRequest webRequest = WebRequest.Create("http://ussbazesspre004:9002/DREADD?" + fileName); webRequest.Method = "POST"; webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.ContentLength = fileName.Length; Stream os = webRequest.GetRequestStream(); os.Write(buffer, 0, buffer.Length); os.Close(); 

¿El uso del WebClient es más eficiente?

 WebClient web = new WebClient(); web.UploadString(address); 

Estoy usando .NET ver 3.5

Tienes algunas cosas adicionales allí si solo estás tratando de llamar a un sitio web. Todo lo que debes necesitar es:

 WebRequest webRequest = WebRequest.Create("http://ussbazesspre004:9002/DREADD?" + fileName); WebResponse webResp = webRequest.GetResponse(); 

Si no desea esperar una respuesta, puede consultar BeginGetResponse para que sea asíncrona.

Si no desea cargar ningún dato, debe usar:

 webRequest.Method = "GET"; 

Si realmente no te importa recuperar datos (por ejemplo, si solo quieres comprobar si la página está disponible), utiliza:

 webRequest.Method = "HEAD"; 

En cualquier caso, en lugar de webRequest.GetRequestStream() use:

 WebResponse myWebResponse = webRequest.GetResponse(); 

WebClient es una syntax más breve y concisa, pero detrás de las escenas utiliza una WebRequest, por lo que en términos de rendimiento no será más rápido, será equivalente. Si desea que sea más rápido, deberá mejorar el script del servidor o su infraestructura de red. El problema no está en el lado del cliente.