ちょっくら弄ってみた

最近こっちに書き込んでませんでしたがー^^;(ぉ

やる気を出すためにも、ちょっくら違うことやってみよう〜 ということで、C#(つーか .NET Framework)を弄ってみることにしたわけです。

ちょっと前に タスクトレイへのアイコン登録が5行で完了してビビッた 経歴があったりしますが、今回は別の事にチャレンジしてみようかと思います。

クラスリファレンスをだ〜〜〜っと見ていると HttpWebRequest, HttpWebResponse なるクラスがあるではありませんか。 ふむ…多分 http で html を引っ張ってくるんだろうと利用してみました。

int MainProc()
{
    TextWriter      outCons      = new StreamWriter(@"c:\out.txt");
    HttpWebRequest  httpRequest  = (HttpWebRequest)WebRequest.Create("http://d.hatena.ne.jp/ir9/");
    HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
    String          encording    = httpResponse.ContentType;
    int             nStart       = encording.IndexOf("charset=") + "charset=".Length;    // めどい(ぉ
    encording                    = encording.Substring(nStart);

    StreamReader    httpReader   = new StreamReader(httpResponse.GetResponseStream(),
        System.Text.Encoding.GetEncoding(encording));

    outCons.WriteLine(httpReader.ReadToEnd());

    return 0;
}

…えーっと、10行も書いてなくね

なんだこれは…ありえねぇ…。コレだけで html が取得できるとかマジありえねぇ…。 …VC++APIを利用したプログラミングって一体… ウウッ orz


…ところで、HttpWebResponse.ContentEncoding が 空文字("")を返してくるのは仕様ですかねぇ?^^; ContentType = "test/html; charset=ecu-jp" ってあるのに…うむむ…。

つか、charset を返してくれない鯖だと可憐に落ちるワナ。
やっぱり RFC読まないと、通信関係はコーディングできませんなー。 まぁ、しばらくは http を使う予定無いけど。(ぉ