我想对网站进行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
答案 0 :(得分:45)
如果您真的只是想打电话给网站,那么你还有一些额外的东西。你需要的只是:
WebRequest webRequest = WebRequest.Create("http://ussbazesspre004:9002/DREADD?" + fileName);
WebResponse webResp = webRequest.GetResponse();
如果您不想等待回复,可以查看BeginGetResponse以使其异步。
答案 1 :(得分:10)
如果您不想上传任何数据,请使用:
webRequest.Method = "GET";
如果您真的不关心获取任何数据(例如,如果您只是想查看该页面是否可用),请使用:
webRequest.Method = "HEAD";
在任何一种情况下,都不使用webRequest.GetRequestStream()
:
WebResponse myWebResponse = webRequest.GetResponse();
答案 2 :(得分:5)
WebClient是一种更简洁,更简洁的语法,但在幕后它使用WebRequest,因此在性能方面它不会更快,它将是等效的。如果您希望它更快,则必须改进服务器端脚本或网络基础结构。问题不在客户端。