Ferramentas para capturar e converter a Web

Manipulador GrabzIt com PerlAPI Perl

Descrição

Está tendo problemas para depurar seu manipulador? Tente o Ferramenta de teste de manipulador de retorno de chamada.

O manipulador descrito aqui processa retornos de chamada do serviço da Web de captura de tela GrabzIt. A URL desse manipulador é passada para GrabzIt no diretório callBackURL parâmetro do Save método. No entanto, essa técnica funcionará apenas se o manipulador estiver acessível via Internet.

Os seguintes parâmetros são passados ​​para o manipulador como parâmetros GET.

  • id - o identificador exclusivo da captura de tela, usado pelo GetResult método
  • filename - o nome do arquivo da captura de tela, criado automaticamente combinando o identificador exclusivo da captura de tela com a extensão do arquivo
  • message - qualquer mensagem devido a um erro causado durante o processamento da captura de tela
  • customId - qualquer identificação personalizada que foi passado para o serviço da web GrabzIt por meio do Save método
  • formato - o formato da captura de tela, por exemplo, "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " webp "," tiff "ou" xlsx "
  • targeterror - se um 1 for retornado, a captura conterá um erro genérico, devido a um problema causado pelo destino da captura

Se você deseja bloquear todo o acesso ao manipulador, exceto o GrabzIt, use este técnica de segurança.

Exemplo

Lembre-se de que este retorno de chamada não funcionará se o seu aplicativo estiver localizado no host local.

Este exemplo mostra como o manipulador GrabzIt Perl pode ser implementado. Isso captura cinco parâmetros passados ​​a ele do serviço GrabzIt, incluindo o ID exclusivo da captura de tela que é passada para o GetResult método.

Esse método retorna a captura de tela, que é saved no diretório de resultados. No entanto, se um null valor é retornado do GetResult método indica que ocorreu um erro.

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;
}