Web Yakalama ve Dönüştürme Araçları

Perlli Kepçe TutucuPerl API

Açıklama

İşleyicinizi hata ayıklamakta sorun mu yaşıyorsunuz? Dene Geri arama İşleyicisi Test Aracı.

Burada açıklanan işleyici, GrabzIt ekran görüntüsü web servisinden gelen geri aramaları işler. Bu işleyicinin URL’si, İnternet’teki GrabzIt’e callBackURL parametresi Save yöntemi. Bununla birlikte, bu teknik yalnızca işleyiciye İnternet üzerinden erişilebiliyorsa çalışır.

Aşağıdaki parametreler işleyiciye GET parametreleri olarak iletilir.

  • id - ekran görüntüsünün benzersiz tanımlayıcısı GetResult yöntem
  • dosya adı - ekran görüntüsünün benzersiz tanımlayıcısının dosya uzantısıyla birleştirilmesiyle otomatik olarak oluşturulan ekran görüntüsünün dosya adı
  • mesaj - ekran görüntüsünün işlenmesi sırasında ortaya çıkan bir hata nedeniyle herhangi bir mesaj
  • customId - herhangi bir özel kimlik Bu, GrabzIt web servisine Save yöntem
  • format - ekran görüntüsünün formatı, örneğin "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " webp "," tiff "veya" xlsx "
  • targeterror - Bir 1 döndürülürse, yakalama hedefi tarafından neden olunan bir sorun nedeniyle yakalama genel bir hata içeriyorsa

İşleyiciye GrabzIt dışında tüm erişimi engellemek istiyorsanız, bunu kullanın. güvenlik tekniği.

Örnek

Unutmayın ki bu geri arama, uygulamanız localhost'ta bulunuyorsa çalışmayacaktır.

Bu örnek, GrabzIt Perl işleyicisinin nasıl uygulanabileceğini gösterir. Bu, kendisine gönderilen ekran görüntüsünün benzersiz kimliği de dahil olmak üzere GrabzIt hizmetinden kendisine iletilen beş parametreyi yakalar. GetResult yöntemi.

Bu yöntem daha sonra ekran görüntüsünü döndürür. saveSonuçlar dizininde d. Ancak eğer bir null değer GetResult Bu, bir hatanın oluştuğunu gösterir.

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