Web へのアクセス

C# の勉強を進めないとならない状況に追い込まれた。
文法書を読むのが面倒だから,何か作ってみようという訳で Web にアクセスするプログラムを書いてみた。

using System;
using System.IO;
using System.Text; // for Encoding
//using System.Collections.Generic;
//using System.Linq;
//using System.Threading.Tasks;

using System.Net;  //for WebRequest

namespace CSweb
{
    class Program
    {
        static void Main(string[] args)
        {
            //Webサーバへ GET リクエストを送る
            WebRequest req = WebRequest.Create("http://www.ube-k.ac.jp/");

            //GETリクエストに対するレスポンスを取得
            WebResponse res = req.GetResponse();

            //レスポンスの中身をチェック
            //(メモ) headers を含め,レスポンスの中に encoding を示唆する情報は見当たらない。
            Console.WriteLine("ContentLength : {0}\n" +
                "ContentType : {1}\n" +
                "Headers : {2}\n" +
                "IsFromCache : {3}\n" +
                "IsMutuallyAuthenticated : {4}\n" +
                "ResponseUri : {5}\n" +
                "SupportsHeaders : {6}",
                res.ContentLength,
                res.ContentType,
                res.Headers,
                res.IsFromCache,
                res.IsMutuallyAuthenticated,
                res.ResponseUri,
                res.SupportsHeaders);

            //Webページの中身を読みだす
            Stream st = res.GetResponseStream();
            StreamReader sr = new StreamReader(st, Encoding.GetEncoding("Shift_JIS"));
            string html = sr.ReadToEnd();
            sr.Close();
            st.Close();

            Console.WriteLine(html);
        }
    }
}