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 schermafbeeldingen, tabelopnamen en geanimeerde GIF's uit de GrabzIt-API op te halen, die beide hun eigen voor- en nadelen hebben.

Asynchrone methode

Terugbelmethode

Ook bekend als de callback-methode, dit is de aanbevolen manier om opnames op te halen. Het vereist echter wel dat de applicatie die wordt gebouwd een domeinnaam of een openbaar beschikbaar IP-adres heeft. Een voorbeeld waarbij deze methode zou kunnen worden gebruikt, is een webapplicatie.

Zoals te zien is in het diagram werkt de asynchrone methode door een oproep naar GrabzIt te sturen en vervolgens te wachten tot er een oproep teruggestuurd wordt naar de applicatie waarin staat dat de schermafbeelding gereed is. Het voordeel van het gebruik van deze methode is dat er minder oproepen nodig zijn en dat andere processen, zoals webverzoeken, kunnen doorgaanintbarstte los.

Een voorbeeld van een asynchrone oproep wordt hieronder weergegeven voor elke servertaal die GrabzIt momenteel ondersteunt.

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

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

Onthoud dat om de API van GrabzIt asynchroon aan te roepen, u deze Node.js moet implementeren handler, maar dit moet niet worden verward met de callbacks van de Node.js-functie. De hier besproken callbacks zijn HTTP-callbacks die via de 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;
    }
});

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

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

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

Onthoud dat om de API van GrabzIt asynchroon aan te roepen, u deze Ruby moet implementeren 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 mag 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 om de paar seconden GrabzIt te ondervragen totdat het gereed is, zoals weergegeven in het diagram.

Eenmaal klaar, downloadt het de opname zoals gewoonlijk. Het nadeel van deze techniek is dat het huidige proces wordt gedwongen te wachten totdat de opname is voltooid. Daarom is deze techniek niet geschikt voor webapplicaties. Het voordeel is echter dat de applicatie geen domeinnaam of IP-adres nodig heeft en dus vanuit desktopapplicaties kan worden gebruikt.

Een voorbeeld van een synchrone oproep die wordt gedaan, wordt hieronder weergegeven voor elke servertaal 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.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")