Strumenti per acquisire e convertire il Web

Gestore con ASP.NETAPI ASP.NET

Descrizione

Problemi con il debug del gestore? Prova il Strumento di test del gestore di callback.

Il gestore qui descritto elabora i callback dal servizio web screenshot di GrabzIt. L'URL di questo gestore viene passato a GrabzIt in callBackURL parametro del Save metodo. Tuttavia, questa tecnica funzionerà solo se il gestore è accessibile via Internet.

I seguenti parametri vengono passati al gestore come parametri GET.

  • id - l'identificatore univoco dello screenshot, utilizzato da GetResult metodo
  • nome file: il nome file dello screenshot, creato automaticamente combinando l'identificatore univoco dello screenshot con l'estensione del file
  • messaggio: qualsiasi messaggio dovuto a un errore causato durante l'elaborazione dello screenshot
  • customId - any id personalizzato che è stato passato al servizio web GrabzIt tramite Save metodo
  • formato - il formato dello screenshot, ad esempio "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " tiff "," webp "o" xlsx "
  • targeterror: se viene restituito un 1, l'acquisizione contiene un errore generico, a causa di un problema causato dalla destinazione di acquisizione

Se vuoi bloccare tutti gli accessi al gestore, ad eccezione di GrabzIt, usa questo tecnica di sicurezza.

Implementazione di un gestore callback tramite MVC

Ricorda che i callback non funzioneranno se l'applicazione si trova su localhost.

Per aggiungere un gestore a un progetto MVC è sufficiente definire un metodo con la seguente firma in un controller come mostrato nel progetto SampleMVC del Demo ASP.NET.

Quindi passa l'URL di questo metodo a GrabzIt, quindi se questo si trova nel controller Home, l'URL di callback potrebbe assomigliare a: http://www.example.com/Home/Handler

public ActionResult Handler(string filename, string id, string message, string customId, string format, int targeterror)
{
    GrabzItClient grabzItClient = GrabzItClient.Create("Sign in to view your Application Key", "Sign in to view your Application Secret");
    GrabzItFile file = grabzItClient.GetResult(id);
    file.Save(Server.MapPath("~/results/" + filename));

    return null;
}

Implementazione di un gestore callback tramite Web Form

Il modo più semplice per implementare un gestore callback è creare un gestore generico ed ereditare da GrabzIt.Handler classe come mostrato di seguito e quindi implementare Process metodo. Questo metodo acquisisce cinque parametri passati dal servizio GrabzIt, incluso l'id univoco dell'acquisizione che viene passato al GetResult metodo.

Questo metodo quindi restituisce l'acquisizione, che è saved nella directory dei risultati. Tuttavia se a null il valore viene restituito da GetResult Questo metodo indica che si è verificato un errore.

public class OverridenHandler : GrabzIt.Handler
{
    protected override void Process(HttpContext context, string filename, string id, string message,
        string customId, string format, bool targetError)
    {
        GrabzItClient grabzIt = GrabzItClient.Create("Sign in to view your Application Key", "Sign in to view your Application Secret");
        GrabzItFile file = grabzIt.GetResult(id);
        file.Save(context.Server.MapPath("~/results/" + filename));
    }
}

Altre tecniche

Mentre la tecnica di cui sopra utilizza un gestore generico, è possibile utilizzare altrettanto facilmente una pagina ASPX per ricevere il callback e scaricare l'acquisizione. Per fare ciò basta creare la propria pagina ASPX ecc. E quindi leggere il domandastring parametri sopra menzionati. Il parametro più utile è il parametro id, che può essere utilizzato con GetResult metodo per scaricare l'acquisizione.