<C#>WebRequestとWebResponseを使ってみよう。

前回はXDocumentしか使用できないぞ!と嘆いておりました……
が、勉強の結果により、WebRequestとWebResponseを使用できるようになったのでサンプルコードを投下します。
一部行数短縮のため改変した部分もあるため、サンプルの後ろに解説を挟みます。

//今回使用する名前空間たち
using System.Text;
using System.Net;
using System.IO;

namespace ExperimentWebRequest
{
    class Program
    {
        static void Main(string[] args)
        {
            //今回開くURL
            string str_URL = "https://api.eveonline.com/api/calllist.xml.aspx";

            //今回の主役であるリクエストさんとレスポンスさん。
            WebRequest Req = WebRequest.Create(str_URL);
            //Req.Method = "GET";   参考にしたコードではGETを設定していましたが、WebRequest.Methodの規定値は"GET"なので省略
            WebResponse Res = Req.GetResponse();
            
            //レスポンスに基づいたストリームをリーダーに投げ、読み込んでいます。
            StreamReader st_Reader = new StreamReader(Res.GetResponseStream(),new UTF8Encoding(false));
            string ReadedXML = st_Reader.ReadToEnd();
            
        }
    }
}
StreamReaderの引数について

今回使用しているパターンでの引数は(Stream型,Encoding型)です。
他所のコードでは、下のように記述していることもあります。
なお、私は1回しか使用しないなら変数化する必要は無い。というスタンスであるため、サンプルのように記述しています。

Stream st = Res.GetResponseStream();
Encoding enc = new UTF8Encoding(false);
StreamReader st_Reader = new StreamReader(st,enc);

なお、Encoding型についてはUTF-8なら上のように記述しますがシフトJISであるなら下記のように記述します。

Encoding.GetEncoing("shift_jis")


今回やってて気づいたのはライブラリ的なやつを使う場合はローカルが役に立たない(´・ω・`)
メソッドとかどうするんだこれー!状態であちこちから引きまくりですはい