Canon製プリンタの総印刷ページ数

wshで作ろうとがんばってみたが、書き方を忘れているので面倒になってきた。

どうせ新しく作るならRubyでがんばってみることにしてみた。

require 'net/http'
Net::HTTP.version_1_2 #おまじない

#プリンタの名前とIPアドレスを配列にしている。2次元配列は動かなかった
printname=["print1","print2c","print3"]
printip=["10.2","30.2","40.2"]

i=0
while i < printname.size do
#HTMLファイル取得のための文を作る
htmlip='192.168.'+printip[i]
htmlfile=nil
#LBP5900は名前に「c」が入る
if /c/ =~ printname[i] then
htmlfile = Net::HTTP.get htmlip,'/dfeature.cgi'
else
htmlfile = Net::HTTP.get htmlip,'/dev/dev_env.shtml?'
end

#HTMLを1行毎に配列に押し込む
j=0
lemon=Array.new
htmlfile.each{|line|
lemon[j] = line.chomp
j=j+1
}

#総印刷ページ数を探す
j=0
while lemon.size
if /総印刷ページ数/s =~ lemon[j]
fline=lemon[j+1]
fline.delete!("[\t|\<\/td\>]")
print printname[i], ":", fline.to_i, "\n"
break
end
j+=1
end
i+=1
end