Herramientas para capturar y convertir la web

Controlador GrabzIt con Perl

API de Perl

Descripción

¿Tiene problemas para depurar su controlador? Prueba el Herramienta de prueba de controlador de devolución de llamada.

El controlador descrito aquí procesa las devoluciones de llamada del servicio web de captura de pantalla GrabzIt. La URL de este controlador se pasa a GrabzIt en el callBackURL parámetro de la Save método. Sin embargo, esta técnica solo funcionará si se puede acceder al controlador a través del Internet

Los siguientes parámetros se pasan al controlador como parámetros GET.

Si desea bloquear todo el acceso al controlador, excepto desde Grabz, use este técnica de seguridad.

Ejemplo

Recuerde que esta devolución de llamada no funcionará si su aplicación se encuentra en localhost.

Este ejemplo muestra cómo se puede implementar el controlador GrabzIt Perl. Esto captura seis parámetros que se le pasan desde el servicio GrabzIt, incluida la identificación única de la captura de pantalla que se pasa al GetResult método.

Este método luego devuelve la captura de pantalla, que es saved en el directorio de resultados. Sin embargo si un null el valor se devuelve desde GetResult método esto indica que ha ocurrido un error.

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