第一回で説明したとおり、トラックバックは以下のパラメータを持った HTTP POST リクエストです。
・ title(記事のタイトル)
・ excerpt(記事の要約)
・ url(記事の URL)
・ blog_name(ブログ名)

そこで、以下のようなコードを書いてやれば、トラックバックを送信できます。このメソッドを、記事を生成するメソッドか更新するメソッドから呼び出してやればよいでしょう。

require 'net/http'
require 'uri'
def send_trackback(url, article)
  Net::HTTP.version_1_2
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, 80)
  data = 'title=' + Article_Title + 
    '&url=' + Url
    '&blog_name=' + Title + 
    '&excerpt=' + Article_Content
  
  response = http.post(uri.path, data)
end


ひとつ注意してほしいことは、同じ記事(URL)に対して同じ内容のトラックバックを複数回送信すると相手先に迷惑になるので、そのような実装は避けてください。

Posted by あかさた
最近のエントリ
最近の読書メモ