Tools om het web vast te leggen en te converteren

Ophaalmethoden voor de API van GrabzIt

Er zijn twee methoden die kunnen worden gebruikt om screenshots, tabelvastleggingen en geanimeerde GIF's uit de API van GrabzIt op te halen, die beide hun eigen voor- en nadelen hebben.

Asynchrone methode

Terugbel methode

Dit wordt ook wel de callback-methode genoemd en is de aanbevolen manier om opnamen op te halen. Het vereist echter wel dat de applicatie die wordt gebouwd een domeinnaam of een publiek beschikbaar IP-adres heeft. Een voorbeeld waar deze methode zou kunnen worden gebruikt, is een webtoepassing.

Zoals te zien is in het diagram, werkt de Asynchrone methode door een oproep naar GrabzIt te verzenden en vervolgens te wachten op een oproep die naar de toepassing wordt teruggestuurd met de melding dat de screenshot gereed is. Het voordeel van het gebruik van deze methode is dat er minder oproepen nodig zijn en dat andere processen, zoals een webverzoek, doorgaanintuitgebroken.

Een voorbeeld van een asynchrone oproep wordt hieronder weergegeven voor elke server-side taal die GrabzIt momenteel ondersteunt.

Vergeet niet dat u ASP.NET moet implementeren om de API van GrabzIt asynchroon aan te roepen 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");

Vergeet niet dat u deze Java moet implementeren om de API van GrabzIt asynchroon aan te roepen 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");

Vergeet niet dat u deze Node.js moet implementeren om de API van GrabzIt asynchroon aan te roepen handler, dit moet echter niet worden verward met de callbacks van de Node.js-functie. De callbacks die hier worden besproken, zijn HTTP-callbacks die via internet worden verzonden!

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

Vergeet niet dat u deze Perl moet implementeren om de API van GrabzIt asynchroon aan te roepen 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");

Vergeet niet dat u deze PHP moet implementeren om de API van GrabzIt asynchroon aan te roepen 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");

Vergeet niet dat u deze Python moet implementeren om de API van GrabzIt asynchroon aan te roepen 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")

Vergeet niet dat u deze Ruby moet implementeren om de API van GrabzIt asynchroon aan te roepen 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")

Synchrone methode

Polling methode

Deze methode moet alleen worden gebruikt als het niet mogelijk is om de asynchrone methode te gebruiken. De synchrone methode werkt door een oproep naar GrabzIt te sturen om de opname te maken en vervolgens GrabzIt elke paar seconden te pollen totdat deze klaar is, zoals weergegeven in het diagram.

Eenmaal klaar downloadt het de opname zoals gewoonlijk. Het nadeel van deze techniek is dat het het huidige proces dwingt te wachten tot de opname is voltooid, en daarom is het niet geschikt voor webapplicaties. Het voordeel is echter dat de applicatie geen domeinnaam of IP-adres nodig heeft en dus vanaf desktop-applicaties kan worden gebruikt.

Een voorbeeld van een synchrone oproep wordt hieronder weergegeven voor elke server-side taal die GrabzIt momenteel ondersteunt.

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.4.7/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")