2010-12-17 19 views
0

我在教自己的代碼,所以請原諒無知。輸出網站X HTML到控制檯在C#

所以我的問題是,爲了能夠輸出特定網站(例如google.com)的HTML到控制檯,我需要閱讀/學習什麼?

謝謝。

+0

你的意思是輸出在一個控制檯應用程序的HTML? – Pieter888 2010-12-17 15:57:04

+0

是的,這是正確的! – super9 2010-12-17 16:00:31

回答

1

我建議你從這裏開始:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest%28v=VS.90%29.aspx

從本質上講,創建HttpWebRequest,然後調用GetResponse()方法。然後您可以讀取響應流並將其輸出到您的控制檯。

+0

爲什麼在HttpWebRequest的描述中說OBSOLETE? – super9 2010-12-17 16:04:54

+0

構造函數已經過時(意味着它可能在將來被刪除),還有一種不同的方式來生成請求,但我會留給你去弄清楚。 ;) – CodingGorilla 2010-12-17 16:10:24

0

大多數瀏覽器允許您右鍵單擊並選擇「查看源代碼」,這是查看HTML的最簡單方法。

+0

是的,但我想以編程方式將html作爲自己的迷你項目提取到控制檯。 – super9 2010-12-17 15:57:19

+0

我看@編碼大猩猩有正確的做法。 – Lazarus 2010-12-17 16:00:04

0

查看WebClient類,特別是MSDN頁面底部的示例。

1

使用HttpWebRequest創建請求並將響應輸出到控制檯。

using System; 
using System.IO; 
using System.Net; 
using System.Text; 

namespace Examples.System.Net 
{ 
    public class WebRequestGetExample 
    { 
     public static void Main() 
     { 
      // Create a request for the URL.   
      WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html"); 
      // If required by the server, set the credentials. 
      request.Credentials = CredentialCache.DefaultCredentials; 
      // Get the response. 
      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
      // Display the status. 
      Console.WriteLine (response.StatusDescription); 
      // Get the stream containing content returned by the server. 
      Stream dataStream = response.GetResponseStream(); 
      // Open the stream using a StreamReader for easy access. 
      StreamReader reader = new StreamReader (dataStream); 
      // Read the content. 
      string responseFromServer = reader.ReadToEnd(); 
      // Display the content. 
      Console.WriteLine (responseFromServer); 
      // Cleanup the streams and the response. 
      reader.Close(); 
      dataStream.Close(); 
      response.Close(); 
     } 
    } 
} 
+1

閱讀Darrell的代碼並瞭解...不知道你會學到什麼,除了很多人會在這裏爲你做的工作; – Lazarus 2010-12-17 16:01:06

+0

我想MSDN的複製和粘貼是艱難的。 :) – DarrellNorton 2010-12-17 16:03:31

+0

是的,我意識到這一點。注意我並沒有要求任何人提供解決方案,而是指向我自己正確學習這些東西的正確方向!大聲笑 – super9 2010-12-17 16:03:51

0

這將這樣的伎倆:

WebClient client = new WebClient(); 
Stream data = client.OpenRead("www.google.com"); 
StreamReader reader = new StreamReader(data); 
string str = reader.ReadLine(); 
Console.WriteLine(str);