[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:1161) Re: [command] ntpdate



なんていうか、自鯖で用意してみた。

rubyでアクセスするとしたら、こんなかんじ

#! /usr/bin/ruby
require 'net/http'

h = Net::HTTP.new('www.seuzo.jp', 80)
resp, data = h.get('/cgi-bin/date.rb', nil)
/<title>([\d]+)<\/title>/i =~ data
t = Time.at($1.to_i)
p t.strftime("%Y%m%d")



さらに、ASで書くとこんな感じ。
#ブラウザからコピペできないひとはこっち
http://www.seuzo.jp/test/check_date.zip

(*
【外のサーバーから日付を得て、厳密な日付チェックを行う】
2005	(c)市川せうぞー	www.seuzo.jp

Mac OS X 10.3.9
ruby 1.6.8

●引数
整数
●返値
なし
●history
2005.6.16	とりあえず版

*)

my check_date(20050617) --このように西暦月日を繋げた整数を引数にする。

to check_date(my_date)
	try
		set server_date to do shell script "ruby -e \"require 'net/http'; h = Net::HTTP.new('www.seuzo.jp', 80); resp, data = h.get('/cgi-bin/date.rb', nil); /<title>([\d]+)<\/title>/i =~ data; t = Time.at(\$1.to_i); print t.strftime('%Y%m%d')\""
		set server_date to server_date as integer
	on error
		display dialog "インターネットに接続されていません" as Unicode text buttons {"キャンセル" as Unicode text}
	end try
	if my_date < server_date then display dialog "期限が過ぎています" as Unicode text buttons {"キャンセル" as Unicode text}
end check_date