Tools zum Erfassen und Konvertieren des Webs

Handler mit Node.jsNode.js 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 get_result 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.

Beispiel

Denken Sie daran, dass dieser Rückruf nicht funktioniert, wenn sich Ihre Anwendung auf localhost befindet.

Dieses Beispiel zeigt, wie ein GrabzIt Node.js-Handler mit express implementiert werden kann. Hiermit werden fünf vom GrabzIt-Dienst übergebene Parameter erfasst, einschließlich der eindeutigen ID des Screenshots, der an den übergeben wird get_result Methode.

Diese Methode gibt dann den Screenshot zurück saved im Screenshot-Verzeichnis.

var express = require('express');
var url = require('url');
var file = require('fs');
var grabzit = require('grabzit');

var app = express();

app.get('/handler', function (req, res) {
    var queryData = url.parse(req.url, true).query;

    var message = queryData.message;
    var customid = queryData.customid;
    var id = queryData.id;
    var filename = queryData.filename;
    var format = queryData.format;
    var targeterror = queryData.targeterror;

    var client = new grabzit('Sign in to view your Application Key', 'Sign in to view your Application Secret');

    client.get_result(id, function(err, result){
        if (err != null) {            
            return;
        }

        file.writeFile(path.join('public', path.join('results', filename)), result, 'binary');
    });

    res.end();
});