De hier beschreven handler verwerkt callbacks van de GrabzIt-screenshotwebservice. De URL van deze handler wordt doorgegeven aan GrabzIt in de callBackURL
parameter van de Save methode.
Deze techniek werkt echter alleen als de handler toegankelijk is via de Internet.
De volgende parameters worden als GET-parameters aan de handler doorgegeven.
Als u alle toegang tot de handler wilt blokkeren, behalve GrabzIt, gebruikt u dit beveiligingstechniek.
Dit voorbeeld laat zien hoe de GrabzIt Perl-handler kan worden geïmplementeerd. Hiermee worden vijf parameters vastgelegd die zijn doorgegeven vanuit de GrabzIt-service, inclusief de unieke id van de screenshot die wordt doorgegeven aan de GetResult methode.
Deze methode retourneert vervolgens de screenshot, wat is saved in de resultatenmap. Maar als een null
waarde wordt geretourneerd door de GetResult methode geeft dit aan dat er een fout is opgetreden.
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; }