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,因此在性能方面它不会更快,它将是等效的。 如果您希望它更快,则必须改进服务器端脚本或网络基础结构。 问题不在客户端。