Webをキャプチャして変換するツール

ASP.NETを使用したハンドラーASP.NET API

説明

ハンドラーのデバッグに問題がありますか? 試してみて コールバックハンドラーテストツール。

ここで説明するハンドラーは、GrabzItスクリーンショットWebサービスからのコールバックを処理します。 このハンドラーのURLは、GrabzItに渡されます callBackURL のパラメータ Save 方法。 ただし、この手法は、インターネット経由でハンドラにアクセスできる場合にのみ機能します。

次のパラメーターは、GETパラメーターとしてハンドラーに渡されます。

  • id-スクリーンショットの一意の識別子。 GetResult 方法
  • filename-スクリーンショットのファイル名。スクリーンショットの一意の識別子とファイル拡張子を組み合わせて自動的に作成されます
  • message-スクリーンショットの処理中に発生したエラーによるメッセージ
  • customId-任意 カスタムID 経由でGrabzIt Webサービスに渡されました Save 方法
  • format-スクリーンショットの形式、たとえば「bmp8」、「bmp16」、「bmp24」、「bmp」、「csv」、「gif」、「jpg」、「json」、「pdf」、「png」、 tiff」、「webp」または「xlsx」
  • targeterror-1が返された場合、キャプチャターゲットに起因する問題のため、キャプチャに一般的なエラーが含まれています

GrabzItを除き、ハンドラーへのすべてのアクセスをブロックする場合は、これを使用します セキュリティ技術.

MVCを使用したコールバックハンドラーの実装

アプリケーションがローカルホストにある場合、コールバックは機能しません。

MVCプロジェクトにハンドラーを追加するには、コントローラーのSampleMVCプロジェクトに示されているように、コントローラーで次のシグネチャを持つメソッドを定義するだけです。 ASP.NETデモ.

次に、このメソッドのURLをGrabzItに渡します。これがHomeコントローラーにある場合、コールバックURLは次のようになります。 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;
}

Webフォームを使用したコールバックハンドラーの実装

コールバックハンドラを実装する最も簡単な方法は、汎用ハンドラを作成して、 GrabzIt.Handler 以下に示すようにクラスを作成し、実装します Process 方法。 このメソッドは、GrabzItサービスから渡された5つのパラメーターをキャプチャします。これには、 GetResult 方法。

次に、このメソッドはキャプチャを返します。 save結果ディレクトリ内のd。 ただし、 null 値はから返されます GetResult メソッドは、エラーが発生したことを示します。

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

その他のテクニック

上記の手法では汎用ハンドラーを使用していますが、ASPXページを使用してコールバックを受け取り、キャプチャをダウンロードすることも簡単にできます。 これを行うには、独自のASPXページなどを作成してから、 クエリーstring 上記のパラメーター。 最も有用なパラメーターはidパラメーターです。これは、 GetResult キャプチャをダウンロードする方法。