Linux Install

Android

Linux Tools

Linux AV

Linux Memo

WINDOWS

PROGRAM

動画 Memo

音楽 Memo

モバイルアプリ Memo

FILE FORMAT

PROTOCOL

DEVICE

BookMark

その他


crena   

crena proxy の作り方

xampp のインストール

pleiades ultimate のall in package などが入っていればそのまま使用

なければ別途インストール

crena のインストール

http://dip.picolix.jp/disp5.html

展開して、下記ファイルを c:/pleiades/xampp/cgi-bin/ におく

CrenaHtml2jpg.exe
CrenaHtml2jpg.ini

proxy 用の cgi の設置

注: もちろん自分以外が使う場合はこのまま使ってはダメです。

アクセス制限や、引数のチェックをかけましょう

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;