WebClient
班和HttpWebRequest
班有什么区别.网他们都做着非常相似的事情.事实上,为什么它们没有合并到一个类中(太多的方法/变量等可能是一个原因,但在.NET中还有其他类违反了这一规则).
谢谢
WebClient
班和HttpWebRequest
班有什么区别.网他们都做着非常相似的事情.事实上,为什么它们没有合并到一个类中(太多的方法/变量等可能是一个原因,但在.NET中还有其他类违反了这一规则).
谢谢
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
项操作:
var client = new WebClient();
var content = client.DownloadString("http://example.com");
Note: I left out the 100 statements from both examples for brevity. You should definitely take care to dispose your web request objects properly.
通常,WebClient适用于快速而肮脏的简单请求,而HttpWebRequest适用于需要对整个请求进行更多控制的情况.