SSブログ

C#で更新Pingを実装(作りかけ) [コンピュータ]

C#で更新Pingを打つには、別途XML-RPCのモジュールを使うのが一般的らしいけど、それを使わないでできないか試してみました。

だってXML-RPCの仕様って、単にXMLデータをpost(getでもよい?)で送信するだけですよね?だったら標準のクラスで全部できるはず。

private void button1_Click(object sender, EventArgs e) {
//POST送信する文字列を作成
string postData = @"<?xml version=""1.0""?>"
+ "<methodCall>"
+ "<methodName>weblogUpdates.ping</methodName>"
+ "<params>"
+ "<param>"
+ "<value>とりカシュの8bit級ブログ</value>"
+ "</param>"
+ "<param>"
+ "<value>http://blog.so-net.ne.jp/torikashu/2007-11-03-1 </value>"
+ "</param>"
+ "</params>"
+ "</methodCall>";
//バイト型配列に変換
byte[] postDataBytes = System.Text.Encoding.UTF8.GetBytes(postData);

WebRequest req = WebRequest.Create("http://blog.goo.ne.jp/XMLRPC");
req.Method = "POST";
req.ContentType = "text/xml";
req.ContentLength = postDataBytes.Length;

System.IO.Stream reqStream = req.GetRequestStream();
reqStream.Write(postDataBytes, 0, postDataBytes.Length);
reqStream.Close();

System.Net.WebResponse res = req.GetResponse();
System.IO.Stream resStream = res.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(resStream, System.Text.Encoding.GetEncoding("Shift_JIS"));
this.textBox1.Text += sr.ReadToEnd();
sr.Close();
}

これで一応「成功」のメッセージは帰ってくるんだけど、どうもうまく検索されないみたい。きっとエンコードをしないとだめなんだろな。
もうちょっと研究してみよう。

※postの方法はDOBON.NETさんを参考にしました
http://dobon.net/vb/dotnet/internet/webrequestpost.html


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

極魔界村クリア!遠足 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。