クラシック音楽のすゝめ

 

amazon
本やCDはこちらから!

ASP(VBScript)で更新通知Pingを送ろう

はじめに

『クラシック音楽のすゝめ』のトップページはいわゆる「ブログ」になっており、そのブログシステムは自作しています。

ブログの場合、記事を追加ときに、いわばブログのポータルサイトに対して「更新通知Ping」というものを送り、ブログが更新されたことを教えます。

更新通知Pingに似ているものとして、Trackback(トラックバック)Pingがあります。これも他のブログに対して関連記事を書いたことを伝える目的で送信するものですが、TrackbackPingはHTMLで書くことができるため苦労しません(文字コードの問題はありますが...)。

更新通知Pingは、RPCサーバーに対してweblogUpdates.pingというメソッドをリクエストすることにより送信されるもので、簡単にはいきません。

更新通知Pingの送信先

更新通知Pingを送信する先は、そのPingを受けてブログ更新の一覧を提供しているようなサイトです。

たとえば、BlogPeopleというサイトでは、40万以上のブログが登録されており、日々(というか分々)、全国のブロガーから更新通知が送られてきます。

BlogPeopleに対しては、「http://www.blogpeople.net/servlet/weblogUpdates」というアドレスに対して更新通知Pingを送ることになっています。

その他にも、多くのポータルサイトがあります。

ソースコード

VBScriptで更新通知Pingを送信するには、少し特殊な手法が必要です。以下のソースコードで、「文字コード」「サイト名」「サイトアドレス」「更新通知Ping送信先」は適当に置き換えてください。

<%@LANGUAGE="VBSCRIPT"%>
<%
PingBody = "<?xml version=""1.0"" encoding=""文字コード""?>" & _
	"<methodCall>" & _
	"<methodName>weblogUpdates.ping</methodName>" & _
	"<params>" & _
	"<param><value>サイト名</value></param>" & _
	"<param><value>サイトアドレス</value></param>" & _
	"</params>" & _
	"</methodCall>"

Set obj = Server.CreateObject("Microsoft.XMLDOM")
Set xml = Server.CreateObject("Microsoft.XMLHTTP")

obj.async = false
obj.loadXML PingBody
xml.open "POST", "更新通知Ping送信先", false
xml.setRequestHeader "Content-Type","text/xml"
xml.send obj.xml
obj.loadXML xml.responseText
%>

おわりに

このソースコードは自由に利用してください。改善や誤りがありましたら、教えていただければ幸いです。

なお、私はプログラマーではありませんので、このソースコードを利用することにより損害その他が生じたとしても、責任を負いません。

 
 

Copyright © 1996-2006, Ryo Kamide. All rights reserved.