Tools zum Erfassen und Konvertieren des Webs

GrabzIt-Handler mit Perl

Perl API

Beschreibung

Haben Sie Probleme beim Debuggen Ihres Handlers? Probieren Sie die Callback-Handler-Test-Tool.

Der hier beschriebene Handler verarbeitet Rückrufe vom GrabzIt-Screenshot-Webservice. Die URL dieses Handlers wird in der an GrabzIt übergeben callBackURL Parameter der Save Methode. Diese Technik funktioniert jedoch nur, wenn der Handler über das zugänglich ist Internet.

Die folgenden Parameter werden als GET-Parameter an den Handler übergeben.

Wenn Sie den gesamten Zugriff auf den Handler blockieren möchten, mit Ausnahme von GrabzIt, verwenden Sie diese Option Sicherheitstechnik.

Beispiel

Denken Sie daran, dass dieser Rückruf nicht funktioniert, wenn sich Ihre Anwendung auf localhost befindet.

Dieses Beispiel zeigt, wie der GrabzIt Perl-Handler implementiert werden kann. Dadurch werden sechs Parameter erfasst, die vom GrabzIt-Dienst an ihn übergeben werden, einschließlich der eindeutigen ID des Screenshots, der an den Dienst übergeben wird GetResult Methode.

Diese Methode gibt dann den Screenshot zurück saved im Ergebnisverzeichnis. Wenn jedoch a null Wert wird von der zurückgegeben GetResult method dies zeigt an, dass ein Fehler aufgetreten ist.

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