.NETWebClient中的类和类有什么区别?HttpWebRequest他们都做非常相似的事情。事实上,为什么不将它们合并到一个类中(方法/变量太多等可能是一个原因,但 .NET 中还有其他类违反了该规则)。
WebClient
HttpWebRequest
谢谢。
WebClient 是建立在 HttpWebRequest 之上的更高级别的抽象,用于简化最常见的任务。例如,如果您想从 HttpWebResponse 中获取内容,则必须从响应流中读取:
var http = (HttpWebRequest)WebRequest.Create("http://example.com"); var response = http.GetResponse(); var stream = response.GetResponseStream(); var sr = new StreamReader(stream); var content = sr.ReadToEnd();
使用 WebClient,您只需DownloadString:
DownloadString
var client = new WebClient(); var content = client.DownloadString("http://example.com");
注意:using为简洁起见,我省略了两个示例中的陈述。您绝对应该注意正确处理您的 Web 请求对象。
using
一般来说,WebClient 适用于快速而肮脏的简单请求,而 HttpWebRequest 适用于您需要对整个请求进行更多控制时。