C# – 如何进行HTTP调用

我想对网站进行HTTP调用。 我只需要点击URL,不想上传或下载任何数据。 什么是最简单,最快速的方法。

我尝试了下面的代码,但它的速度很慢,并且在第二次重复请求之后,它只会进入59秒的超时并且恢复:

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(); 

使用WebClient更有效率?

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

我正在使用.NET ver 3.5

如果您真的只是想打电话给网站,那么你还有一些额外的东西。 你需要的只是:

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

如果您不想等待响应,可以查看BeginGetResponse以使其异步。

如果您不想上传任何数据,您应该使用:

 webRequest.Method = "GET"; 

如果您真的不关心获取任何数据(例如,如果您只想查看页面是否可用),请使用:

 webRequest.Method = "HEAD"; 

在任何一种情况下,而不是webRequest.GetRequestStream()使用:

 WebResponse myWebResponse = webRequest.GetResponse(); 

WebClient是一种更简洁,更简洁的语法,但在幕后使用WebRequest,因此在性能方面它不会更快,它将是等效的。 如果您希望它更快,则必须改进服务器端脚本或网络基础结构。 问题不在客户端。