Инструменты для захвата и конвертирования Интернета

Обработчик с Node.jsNode.js API

Описание

Возникли проблемы с отладкой вашего обработчика? Попробуйте Инструмент проверки обработчика обратного вызова.

Описанный здесь обработчик обрабатывает обратные вызовы из веб-службы GrabzIt. URL этого обработчика передается GrabzIt в callBackUrl параметр save метод. Однако этот метод будет работать только в том случае, если обработчик доступен через Интернет.

Следующие параметры передаются в обработчик как параметры GET.

  • id - уникальный идентификатор скриншота, используемый get_result метод
  • filename - имя файла скриншота, автоматически созданное путем объединения уникального идентификатора скриншота с расширением файла
  • сообщение - любое сообщение из-за ошибки, возникшей при обработке скриншота
  • customId - любой пользовательский идентификатор который был передан веб-сервису GrabzIt через save метод
  • format - формат скриншота, например, «bmp8», «bmp16», «bmp24», «bmp», «csv», «gif», «jpg», «json», «pdf», «png», « TIFF "," WebP "или" XLSX "
  • targetterror - если возвращается 1, то захват содержит общую ошибку из-за проблемы, вызванной целью захвата

Если вы хотите заблокировать весь доступ к обработчику, кроме GrabzIt, используйте это техника безопасности.

Пример

Помните, что этот обратный вызов не будет работать, если ваше приложение находится на localhost.

В этом примере показано, как обработчик GrabzIt Node.js можно реализовать с помощью Express. Это захватывает пять параметров, переданных ему от сервиса GrabzIt, включая уникальный идентификатор скриншота, который передается в get_result метод.

Затем этот метод возвращает скриншот, который saveD в каталоге скриншотов.

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