トラックバックの送受信
XMLとは関係ないけれど、ブログ関連の話題が続いたので、ついでにトラックバックも取り上げてみた。トラックバックの機能はXMLとはまったく関係ない仕組みだ。送信側は指定されたトラックバックURLに、フォームからpostする要領でデータをpostする。サーバからpostするわけだから(ブラウザがpostするのではないのだから)、少しだけ工夫が必要。postメソッドで送信するために、ローレベルにfsockopenで直接相手先ホストとお話しするか、curlを使うか、あとPEARのライブラリも使えるはずだ(工夫が必要なのはここだけ)。
受信する側はもっと簡単。フォームで内容を受け取るのと同様で、単にPOSTを受けるだけ。$_POSTでいいわけだ。
トラックバックURLはどうもPATH_INFOを使って記事番号の受け渡しをすることが一般的らしい。当然何らかの記事に対してトラックバックがおこなわれるわけだが、記事には固有の番号がついている。トラックバックが送られてきたら、どの記事に対して送られてきたのか判別する必要があり、その記事番号の受け取り方でPATH_INFOを使用する、ということだ。
例えばトラックバックを受け付けるプログラムのURLと記事番号が以下のような場合、
URL: http://hogehoge.com/trackback.php
記事番号: 24
トラックバックURLは以下のようにする、ということだ。
http://hogehoge.com/trackback.php/24
でもって、trackback.php内でPATH_INFOから記事番号を判別する。ちなみにPOSTで受け渡しされる情報は以下のとおり。
blog_name:ブログ名
title:言及記事のタイトル
url:言及記事のURL
excerpt:言及記事の概要
どこかで一度試してみるとしよう。