Инструменты для захвата и конвертирования Интернета

GrabzIt Обработчик с PerlPerl API

Описание

Возникли проблемы с отладкой вашего обработчика? Попробуйте Инструмент проверки обработчика обратного вызова.

Описанный здесь обработчик обрабатывает обратные вызовы из веб-службы GrabzIt. URL этого обработчика передается GrabzIt в callBackURL параметр Save метод. Однако этот метод будет работать только в том случае, если обработчик доступен через Интернет.

Следующие параметры передаются в обработчик как параметры GET.

  • id - уникальный идентификатор скриншота, используемый GetResult метод
  • filename - имя файла скриншота, автоматически созданное путем объединения уникального идентификатора скриншота с расширением файла
  • сообщение - любое сообщение из-за ошибки, возникшей при обработке скриншота
  • customId - любой пользовательский идентификатор который был передан веб-сервису GrabzIt через Save метод
  • format - формат скриншота, например, «bmp8», «bmp16», «bmp24», «bmp», «csv», «gif», «jpg», «json», «pdf», «png», « webp "," tiff "или" xlsx "
  • targetterror - если возвращается 1, то захват содержит общую ошибку из-за проблемы, вызванной целью захвата

Если вы хотите заблокировать весь доступ к обработчику, кроме GrabzIt, используйте это техника безопасности.

Пример

Помните, что этот обратный вызов не будет работать, если ваше приложение находится на localhost.

Этот пример показывает, как может быть реализован обработчик GrabzIt Perl. Он фиксирует пять параметров, переданных ему из сервиса GrabzIt, включая уникальный идентификатор снимка экрана, который передается в GetResult метод.

Затем этот метод возвращает скриншот, который saveг в каталоге результатов. Однако если 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;
}