如何获取网页的内容并将其保存到stringvariables中

如何使用ASP.NET获取网页的内容? 我需要编写一个程序来获取网页的HTML并将其存储到一个stringvariables中。

您可以使用WebClient

WebClient client = new WebClient(); string downloadString = client.DownloadString("http://www.gooogle.com"); 

我之前遇到过Webclient.Downloadstring的问题。 如果你这样做,你可以试试这个:

 WebRequest request = WebRequest.Create("http://www.google.com"); WebResponse response = request.GetResponse(); Stream data = response.GetResponseStream(); string html = String.Empty; using (StreamReader sr = new StreamReader(data)) { html = sr.ReadToEnd(); } 

我build议不要使用WebClient.DownloadString 。 这是因为(至less在.NET 3.5中)如果DownloadString不存在,那么DownloadString就不够聪明,无法使用/删除BOM。 当UTF-8数据返回(至less没有字符集)时,这可能会导致BOM(  )错误地作为string的一部分出现 – ick!

相反,这种细微的变化可以正确处理物料清单:

 string ReadTextFromUrl(string url) { // WebClient is still convenient // Assume UTF8, but detect BOM - could also honor response charset I suppose using (var client = new WebClient()) using (var stream = client.OpenRead(url)) using (var textReader = new StreamReader(stream, Encoding.UTF8, true)) { return textReader.ReadToEnd(); } } 
 Webclient client = new Webclient(); string content = client.DownloadString(url); 

通过你想要获得的页面的URL。 你可以使用htmlagilitypack来parsing结果。