TrackBack考察

  • 投稿日:
  • by
  • カテゴリ:

TrackBackのシステムについて技術的に考察してみます。

TrackBackをしようと思いPingを送ると、
mt-tb.cgi?tb_id=TrackBackしたいエントリのID&url=リンクさせたい先のURL&title=リンクが張られるテキスト&blog_name=Blogの名前&excerpt=概要
というURLにリクエストするようです。

リクエストされた側(TrackBackされた側)は、

<?xml version="1.0" encoding="iso-8859-1" ?>
<response>
<error>0</error>
</response>

というXMLを返します。

で、リクエストした側(TrackBackした側)は返されたXMLを解析してerrorの値が0ならTrackBackがうまくいったと判断して正常終了します。
errorの値が1ならエラー発生ということで、終了します。

エラーが起きた場合はTrackBackされた側はエラーメッセージもXMLで返すわけですが、TrackBackした側はそのエラーメッセージは使っていないみたいです。
TrackBackされた側がEUCで「無効なIDです」というエラーメッセージを返したとして、TrackBackした側(Shift_JISとする)内でそのエラーメッセージを表示するようなシステムでしたら当然文字化けしてしまうわけですが、現在の所エラーメッセージは表示していないと思われるのでこの点は問題ない気がします。
もっとも、iso-8859-1と宣言しておきながら日本語を含めるのは問題なので、Japanese Language Packを使用している人はこの部分も修正する必要があると思います。

修正するのは
./lib/MT/App/TrackBack.pm

この中の「iso-8859-1」という文字列(2箇所)を「EUC-JP」に変更しましょう。

で、今のところ謎なのは
このマニュアルのウチ、「Retrieving Pings」の所。

Retrieving Pings
To retrieve a list of pings made on a particular TrackBack item, use a URL in this format:

これって、どのタイミングで使われるものなのでしょう?
送ったTrackBackを修正する時ですか?そんなこと出来るの?
よくわからないのですが、ここに

<language>en-us</language>

と言う記述がありますが、これも

<language>ja</language>

と修正しておいた方が良いのかもしれません。