Web ページを TEXT 形式で表示

C# で URL に接続して Web ページを TEXT 形式で TextBox に表示します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. C# の自動生成を使って Form(Window) を作成して下さい。
    デザイン画面を表示して Form に二個の TextBox とボタンを貼り付けて下さい。
    ツールボックスからコントロールを貼り付けると「InitializeComponent()」にソースコードが追加されます。
    詳細は 自動生成を使って Form を作成する 及び ToolBox からボタンを貼り付ける を参照して下さい。
  2. TextBox1 の Text プロパティを表示して、初期値として適当な URL をタイプします。
    例えば google を設定するときは http://www.google.co.jp/index.html となります。
    TextBox2 には URL から取得した TEXT を表示します。
    TextBox2 のサイズを大きくして Multiline に True を設定して下さい。
  3. ボタンを選択して、稲妻型のアイコンから Click に Button1_Click のイベントを設定します。
  4. Form1.cs を編集します。
    次の using を追加して下さい。
    using System.Net;   // for HttpWebRequest, HttpWebResponse
    using System.IO;    // for StreamReader
    using System.Text;  // for Encoding
    
  5. Form1 のコンストラクタに InitializeComponent() メソッドを呼び出すコードを追加して下さい。
    自動生成でプロジェクトを作成すると、最初からコードが書かれているかも知れません。
            public Form1()
            {
                InitializeComponent();
            }
        
  6. Button1_Click に URL に接続して TEXT を取得するソースコードを記述します。
    textBox1 から取得した URL で Web に接続します。
    Web から TEXT を取得して textBox2 に表示します。
        private void Button1_Click(object sender, EventArgs e)
        {
            string my_url = textBox1.Text ;
            HttpWebRequest  req = WebRequest.Create(my_url) as HttpWebRequest ;
            HttpWebResponse res = null ;
            try
            {
                res = req.GetResponse() as HttpWebResponse ;
            }
            catch
            {
                textBox2.Text = "指定した Web ページが応答していません!" ;
                return ;
            }
            StreamReader reader = new StreamReader(res.GetResponseStream(),
                                      Encoding.GetEncoding("Shift_JIS")) ;
            textBox2.Text = reader.ReadToEnd() ;
            reader.Close() ;
        }
        
  7. TextBox1 に URL をタイプして Button1 をクリックすると TextBox2 に表示されます。
    Cpp/CLI を使って同じようなプログラムを掲載しているので見比べて下さい。
    「超初心者のプログラム入門(cpp)/Web ページを TEXT 形式で表示」を参照して下さい。
    Web ページを TEXT 形式で表示
    また、Win32 PAI を使ったプログラムも掲載しています。
    「C言語 Windows/URL を指定してファイルを取得する」を参照して下さい。

WebClient

WebClient() を使う方法も紹介します。
Button1_Click() 関数を次のように書き変えて下さい。
    private void Button1_Click(object sender, EventArgs e)
    {
        string my_url = textBox1.Text ;
        WebClient wc = new WebClient();
        try
        {
            string text = wc.DownloadString(my_url);
            textBox2.Text = text;
        }
        catch (WebException exc)
        {
            textBox2.Text = exc.Message;
        }
    }

超初心者のプログラム入門(C# Frame Work)