2004年01月13日
川俣晶の縁側ソフトウェアMagSite1開発日誌total 3174 count

TrackBack送信の作成、いよいよ大詰め

Written By: 川俣 晶連絡先

 TrackBackを実装するのは大変な仕事です。

 と既に書いたわけですが。

 このことは、より正確に言えば、純粋にTrackBackを行うプログラム以外の部分で多くの手間が掛かるということになります。

 では、純粋にただ単にTrackBack送信を行うだけのプログラムはどの程度のサイズになるのか。

 取りかかる前に、spikeしてみました。(spike=完全に見通せないときに小さなプログラムを作って確認してみること)

 その結果、以下のようなソースがすぐに出来上がりました。

 実行してみると、Movable Type 2.64を相手に、一発で通りました。文字化けもありません。

 良かった良かった。

 既に(かなり凝ってしまった)ユーザーインターフェース関係の作り込みは終わっているので、ここに書いたコード相当分を組み込めば、TrackBack送信は動くはずです。

 特に予想外の問題が無ければ、TrackBack送信機能の付いたMagSite1のリリースはそれほど遠い話ではないでしょう。

 (しかし、そのあとには、下手をすると送信より大変なTrackBack受信の機能が待っていたり……)

TrackBack送信のspikeプログラム §

 .NET Framework 1.1用。C#のソースです。

 言うまでもないことですが、文字列定数は架空のサイトを示しているので、このままコンパイルして実行しても動きません。念のため。

 もし、下記のソースに間違いを発見された方は、ぜひご連絡下さい。

2004年1月15日追記。文字列をURLエンコードしていないことに気付いたので、下記ソースコードを変更しました。

using System;

using System.Net;

using System.IO;

using System.Xml;

using System.Web;

namespace trackBackSend001

{

    class Class1

    {

        public static string urlEncodeByUtf8( string src )

        {

            return HttpUtility.UrlEncode(src,System.Text.Encoding.UTF8);

        }

        [STAThread]

        static void Main(string[] args)

        {

            const string pingTo = "http://pingToUrl";

            WebClient client = new WebClient ();

            client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

            // charsetとieの根拠はhttp://mylog.ishinao.net/id/5

            string requestString = "title="

                + urlEncodeByUtf8("あいう えお")

                + "&url=http://contentUrl/&excerpt=My+Excerpt" + urlEncodeByUtf8("あいう")

                + "&blog_name=" + urlEncodeByUtf8("テストマガジン")

                + "&charset=UTF-8&ie=UTF-8";

            byte [] requestArray = System.Text.Encoding.UTF8.GetBytes(requestString);

            byte [] resultArray = client.UploadData(pingTo,"POST",requestArray);

            XmlDocument doc = new XmlDocument();

            doc.Load( new MemoryStream(resultArray) );

            doc.Save(Console.Out);

        }

    }

}

Facebook

キーワード【 川俣晶の縁側ソフトウェアMagSite1開発日誌
【MagSite1開発日誌】の次のコンテンツ
2004年
01月
15日
MagSite1 0.25 リリース、やっとTrackBack送信サポート (でも受信はまだこれから)
3days 0 count
total 3327 count
【MagSite1開発日誌】の前のコンテンツ
2004年
01月
10日
かなりの大仕事になったTrackBack送信、UIの8割ぐらいが出来てきた
3days 0 count
total 3421 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20040113171558
サイトの表紙【MagSite1開発日誌】の表紙【MagSite1開発日誌】のコンテンツ全リスト 【MagSite1開発日誌】の入手全リスト 【MagSite1開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.