Tools zum Erfassen und Konvertieren des Webs

Handler mit PythonPython-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", " webp "," tiff "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 der GrabzIt-Python-Handler 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 GetResult Methode.

Diese Methode gibt dann den Screenshot 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.

import os
import cgi
from GrabzIt import GrabzItClient
from ConfigParser import SafeConfigParser

form = cgi.FieldStorage()

message = form.getvalue("message")
customId = form.getvalue("customid")
id = form.getvalue("id")
filename = form.getvalue("filename")
format = form.getvalue("format")
targeterror = form.getvalue("targeterror")

# Custom id can be used to store user ids or whatever is needed for the later processing of the
# resulting screenshot

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
result = grabzIt.GetResult(id)

if result != None:
        # Ensure that the application has the correct rights for this directory.
        fo = open("results" + os.sep + filename, "wb")
        fo.write(result)
        fo.close()
        
print "Status: 200 OK"
print