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.
Este ejemplo muestra cómo se puede implementar el controlador GrabzIt Perl. Esto captura cinco parámetros que le pasó del 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; }