|
|||||||||
crena の変更点
* crena proxy の作り方 [#zaea7164]
*** xampp のインストール [#we223ead]
pleiades ultimate のall in package などが入っていればそのまま使用~
なければ別途インストール
*** crena のインストール [#e95574ed]
http://dip.picolix.jp/disp5.html
展開して、下記ファイルを c:/pleiades/xampp/cgi-bin/ におく
CrenaHtml2jpg.exe
CrenaHtml2jpg.ini
*** proxy 用の cgi の設置 [#la1dcb15]
注: もちろん自分以外が使う場合はこのまま使ってはダメです。~
アクセス制限や、引数のチェックをかけましょう~
c:/pleiades/xampp/cgi-bin/crena.cgi
#!"C:\pleiades\xampp\perl\bin\perl.exe"
foreach $line (@ARGV) {
@pair = split(/=/,$arg);
if ($pair[1]){$param{$pair[0]} = $pair[1];}
}
## PARAMS
#$URL = $param{'URL'};
#$WIDTH = $param{'WIDTH'};
#$HEIGHT = $param{'HEIGHT'};
$URL = $ENV{'QUERY_STRING'};
unless ($URL){
print "Content-type: text/html\n\n";
print "<pre>";
print "Usage:\n";
printf("http://%s%s?http://yahoo.co.jp",$ENV{'SERVER_NAME'},$ENV{'REQUEST_URI'});
print "</pre>";
exit(1);
}
# 初期値設定
unless ($WIDTH) {$WIDTH = 1200;}
unless ($HEIGHT){$HEIGHT = 1200;}
#unless ($OUTPUT){$OUTPUT = "out.png";}
($sec,$min,$hour,$mday,$month,$year,$wday,$stime) = localtime(time());
$OUTPUT = sprintf("%04d%02d%02d%02d%02d%02d.png",$year+1900,$month+1,$mday,$hour,$min,$sec);
## main
$SIZE = sprintf("%dx%d",$WIDTH,$HEIGHT);
# for xampp perl
# system("kill.exe CrenaHtml2jpg");
system("c:\\pleiades\\xampp\\cgi-bin\\CrenaHtml2jpg.exe -p -w$SIZE -s$SIZE -u\"$URL\" -o$OUTPUT -fpng");
# for sygwin perl (c:\cgywin\bin\perl.exe)
#system("./kill.exe CrenaHtml2jpg");
#system("./CrenaHtml2jpg.exe -p -w$SIZE -s$SIZE -u\"$URL\" -o$OUTPUT -fpng >> log.txt");
$file = $OUTPUT;
$len = -s $file;
if ($len == 0 ){
printf "Content-type: text/html;\n\n";
printf "no such file. %s",$file;
exit;
}
printf "Content-type: image/png\n\n";
#printf "Content-length: %d\n\n",$len;
binmode STDOUT;
open(DATA,$file);
binmode DATA;
read(DATA,$buf,$len);
print $buf;
close(DATA);
unlink($OUTPUT);
exit;
1;
|
|||||||||