웹 캡처 및 변환 도구

Perl을 이용한 GrabzIt 핸들러펄 API

강의 개요

핸들러를 디버깅하는 데 문제가 있습니까? 시도 콜백 핸들러 테스트 도구.

여기에 설명 된 핸들러는 GrabzIt 스크린 샷 웹 서비스에서 콜백을 처리합니다. 이 핸들러의 URL은 GrabzIt에 전달됩니다. callBackURL 의 매개 변수 Save 방법. 그러나이 기술은 인터넷을 통해 처리기에 액세스 할 수있는 경우에만 작동합니다.

다음 매개 변수는 GET 매개 변수로 핸들러에 전달됩니다.

  • id-스크린 샷의 고유 식별자로 GetResult 방법
  • filename-스크린 샷의 파일 이름으로, 스크린 샷의 고유 식별자와 파일 확장자를 결합하여 자동으로 생성됩니다.
  • message-스크린 샷 처리 중 발생한 오류로 인한 모든 메시지
  • customId-모두 맞춤 ID 그 GrabzIt 웹 서비스를 통해 전달되었습니다 Save 방법
  • format-스크린 샷 형식 (예 : "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", ") webp ","tiff "또는"xlsx "
  • targeterror-1가 반환되면 캡처 대상으로 인한 문제로 인해 캡처에 일반 오류가 포함됩니다.

GrabzIt을 제외하고 핸들러에 대한 모든 액세스를 차단하려면 이것을 사용하십시오. 보안 기술.

애플리케이션이 localhost에있는 경우이 콜백이 작동하지 않습니다.

이 예제는 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;
}