Strumenti per acquisire e convertire il Web

Metodi di recupero per l'API di GrabzIt

Esistono due metodi che possono essere utilizzati per recuperare screenshot, acquisizioni di tabelle e GIF animate dall'API di GrabzIt, entrambi presentano vantaggi e svantaggi.

Metodo asincrono

Metodo di richiamata

Conosciuto anche come metodo di callback, questo è il modo consigliato per recuperare le acquisizioni. Tuttavia è necessario che l'applicazione creata abbia un nome di dominio o un indirizzo IP disponibile pubblicamente. Un esempio in cui questo metodo potrebbe essere utilizzato sarebbe un'applicazione web.

Come si può vedere nel diagramma, il metodo asincrono funziona inviando una chiamata a GrabzIt e quindi aspettando che venga inviata una chiamata all'applicazione che indica che lo screenshot è pronto. Il vantaggio dell'utilizzo di questo metodo è che richiede meno chiamate e consente ad altri processi, come le richieste Web, di procedere senza problemiinteruttato.

Di seguito è mostrato un esempio di chiamata asincrona per ogni lingua lato server attualmente supportata da GrabzIt.

Ricorda che per chiamare l'API di GrabzIt in modo asincrono dovrai implementare questo ASP.NET Handler.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.URLToImage("http://www.spacex.com");
grabzIt.Save("http://www.mywebsite.com/Home/Handler");

Ricorda che per chiamare l'API di GrabzIt in modo asincrono dovrai implementare questo Java Handler.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.URLToImage("http://www.spacex.com");
grabzIt.Save("http://www.mywebsite.com/handler");

Ricorda che per chiamare l'API di GrabzIt in modo asincrono dovrai implementare questo Node.js Handler, tuttavia, questo non deve essere confuso con i callback della funzione Node.js. I callback discussi qui sono callback HTTP inviati tramite il file Internet!

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
client.url_to_image("http://www.spacex.com");
client.save("http://www.example.com/handler", function (error, id){
    if (error != null){
        throw error;
    }
});

Ricorda che per chiamare l'API di GrabzIt in modo asincrono dovrai implementare questo Perl Handler.

$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->URLToImage("http://www.spacex.com");
$grabzIt->Save("http://www.mywebsite.com/handler.pl");

Ricorda che per chiamare l'API di GrabzIt in modo asincrono dovrai implementare questo PHP Handler.

$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->URLToImage("http://www.spacex.com");
$grabzIt->Save("http://www.mywebsite.com/handler.php");

Ricorda che per chiamare l'API di GrabzIt in modo asincrono dovrai implementare questo Python Handler.

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.URLToImage("http://www.spacex.com")
grabzIt.Save("http://www.mywebsite.com/handler.py")

Ricorda che per chiamare l'API di GrabzIt in modo asincrono dovrai implementare questo Ruby Handler.

grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.url_to_image("http://www.spacex.com")
grabzIt.save("http://www.mywebsite.com/handler/index")

Metodo sincrono

Metodo di polling

Questo metodo dovrebbe essere utilizzato solo laddove non sia possibile utilizzare il metodo asincrono. Il metodo sincrono funziona inviando una chiamata a GrabzIt per creare l'acquisizione, quindi interrogando GrabzIt ogni pochi secondi finché non è pronto, come mostrato nel diagramma.

Una volta pronto, scarica l'acquisizione come al solito. Lo svantaggio di questa tecnica è che costringe il processo corrente ad attendere fino al completamento dell'acquisizione, motivo per cui non è adatta per le applicazioni web. Tuttavia il vantaggio è che l'applicazione non necessita di un nome di dominio o di un indirizzo IP e quindi può essere utilizzata da applicazioni desktop.

Di seguito è mostrato un esempio di chiamata sincrona effettuata per ogni lingua lato server attualmente supportata da GrabzIt.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.URLToImage("http://www.spacex.com");
grabzIt.SaveTo("spacex.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.URLToImage("http://www.spacex.com");
grabzIt.SaveTo("spacex.jpg");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").ConvertURL("http://www.spacex.com").Create();
</script>
var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
client.url_to_image("http://www.spacex.com");
client.save_to("spacex.jpg", function (error, id){
    if (error != null){
        throw error;
    }
});
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->URLToImage("http://www.spacex.com");
$grabzIt->SaveTo("spacex.jpg");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->URLToImage("http://www.spacex.com");
$grabzIt->SaveTo("spacex.jpg");
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.URLToImage("http://www.spacex.com")
grabzIt.SaveTo("spacex.jpg")
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.url_to_image("http://www.spacex.com")
grabzIt.save_to("spacex.jpg")