ちょっくら弄ってみた
最近こっちに書き込んでませんでしたがー^^;(ぉ
やる気を出すためにも、ちょっくら違うことやってみよう〜 ということで、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 を使う予定無いけど。(ぉ