Webをキャプチャして変換するツール

Perlを使用したGrabzItハンドラーPerl API

説明

ハンドラーのデバッグに問題がありますか? 試してみて コールバックハンドラーテストツール。

ここで説明するハンドラーは、GrabzItスクリーンショットWebサービスからのコールバックを処理します。 このハンドラーのURLは、GrabzItに渡されます callBackURL のパラメータ Save 方法。 ただし、この手法は、インターネット経由でハンドラにアクセスできる場合にのみ機能します。

次のパラメーターは、GETパラメーターとしてハンドラーに渡されます。

  • id-スクリーンショットの一意の識別子。 GetResult 方法
  • filename-スクリーンショットのファイル名。スクリーンショットの一意の識別子とファイル拡張子を組み合わせて自動的に作成されます
  • message-スクリーンショットの処理中に発生したエラーによるメッセージ
  • customId-任意 カスタムID 経由でGrabzIt Webサービスに渡されました Save 方法
  • format-スクリーンショットの形式、たとえば「bmp8」、「bmp16」、「bmp24」、「bmp」、「csv」、「gif」、「jpg」、「json」、「pdf」、「png」、 webp」、「tiff」または「xlsx」
  • targeterror-1が返された場合、キャプチャターゲットに起因する問題のため、キャプチャに一般的なエラーが含まれています

GrabzItを除き、ハンドラーへのすべてのアクセスをブロックする場合は、これを使用します セキュリティ技術.

アプリケーションがローカルホストにある場合、このコールバックは機能しません。

この例は、GrabzIt Perlハンドラーの実装方法を示しています。 これは、GrabzItサービスから渡された5つのパラメーターをキャプチャします。これには、 GetResult 方法。

次に、このメソッドはスクリーンショットを返します。 save結果ディレクトリ内のd。 ただし、 null 値はから返されます GetResult メソッドは、エラーが発生したことを示します。

use CGI;
use CGI::Carp qw(warningsToBrowser fatalsToBrowser); 
use File::Spec;
use GrabzIt::GrabzItClient;

# This Perl file handles the GrabzIt callback

print "HTTP/1.0 200 OK";
print "Content-type: text/html\r\n\r\n";

$cgi = new CGI;

$message = $cgi->param("message");
$customId = $cgi->param("customid");
$id = $cgi->param("id");
$filename = $cgi->param("filename");
$format = $cgi->param("format");
$targetError = $cgi->param("targeterror");

# Custom id can be used to store user ids or whatever is needed for the later processing of the
# resulting screenshot

$grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$result = $grabzIt->GetResult($id);

if ($result)
{
        # Ensure that the application has the correct rights for this directory.
        open FILE, ">".File::Spec->catfile("results",$filename) or die $!; 
        binmode FILE;
        print FILE $result; 
        close FILE;
}