Tools zum Erfassen und Konvertieren des Webs

Handler mit ASP.NETASP.NET API

Beschreibung

Haben Sie Probleme beim Debuggen Ihres Handlers? Probieren Sie die Callback-Handler-Test-Tool.

Der hier beschriebene Handler verarbeitet R├╝ckrufe vom GrabzIt-Screenshot-Webservice. Die URL dieses Handlers wird in der an GrabzIt ├╝bergeben callBackURL Parameter der Save Methode. Diese Technik funktioniert jedoch nur, wenn der Handler ├╝ber das Internet erreichbar ist.

Die folgenden Parameter werden als GET-Parameter an den Handler ├╝bergeben.

  • id - die eindeutige Kennung des Screenshots, die von der GetResult Methode
  • Dateiname - Der Dateiname des Screenshots, der automatisch erstellt wird, indem die eindeutige Kennung des Screenshots mit der Dateierweiterung kombiniert wird
  • message - jede Nachricht aufgrund eines Fehlers, der w├Ąhrend der Verarbeitung des Screenshots verursacht wurde
  • customId - any benutzerdefinierte ID das wurde an den GrabzIt-Webservice ├╝ber die Save Methode
  • format - das Format des Screenshots, zB "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " tiff "," webp "oder" xlsx "
  • targeterror - Wenn ein 1 zur├╝ckgegeben wird, enth├Ąlt das Capture einen allgemeinen Fehler, der auf ein vom Capture-Ziel verursachtes Problem zur├╝ckzuf├╝hren ist

Wenn Sie den gesamten Zugriff auf den Handler blockieren m├Âchten, mit Ausnahme von GrabzIt, verwenden Sie diese Option Sicherheitstechnik.

Implementieren eines Callback-Handlers mit MVC

Denken Sie daran, dass R├╝ckrufe nicht funktionieren, wenn sich Ihre Anwendung auf localhost befindet.

Um einen Handler zu einem MVC-Projekt hinzuzuf├╝gen, definieren Sie einfach eine Methode mit der folgenden Signatur in einem Controller, wie im SampleMVC-Projekt des ASP.NET-Demo.

├ťbergeben Sie dann die URL dieser Methode an GrabzIt. Befindet sich diese im Home-Controller, k├Ânnte die R├╝ckruf-URL folgenderma├čen aussehen: 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;
}

Implementieren eines Callback-Handlers mithilfe von Web Forms

Die einfachste M├Âglichkeit, einen Callback-Handler zu implementieren, besteht darin, einen generischen Handler zu erstellen und von diesem zu erben GrabzIt.Handler Klasse wie unten gezeigt und implementieren Sie dann die Process Methode. Diese Methode erfasst f├╝nf vom GrabzIt-Dienst ├╝bergebene Parameter, einschlie├člich der eindeutigen ID des Captures, das an das ├╝bergeben wird GetResult Methode.

Diese Methode gibt dann das Capture zur├╝ck saved im Ergebnisverzeichnis. Wenn jedoch a null Wert wird von der zur├╝ckgegeben GetResult method dies zeigt an, dass ein Fehler aufgetreten ist.

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

Andere Techniken

W├Ąhrend die obige Technik einen generischen Handler verwendet, k├Ânnen Sie genauso einfach eine ASPX-Seite verwenden, um den R├╝ckruf abzurufen und das Capture herunterzuladen. Dazu erstellen Sie einfach Ihre eigene ASPX-Seite usw. und lesen dann die querystring oben genannten Parameter. Der n├╝tzlichste Parameter ist der id-Parameter, der mit dem verwendet werden kann GetResult Methode zum Herunterladen des Captures.