Tools om het web vast te leggen en te converteren

Handler met PythonPython API

Omschrijving

Heeft u problemen met het debuggen van uw handler? Probeer de Callback Handler-testtool.

De hier beschreven handler verwerkt callbacks van de GrabzIt-screenshotwebservice. De URL van deze handler wordt doorgegeven aan GrabzIt in de callBackURL parameter van de Save methode. Deze techniek werkt echter alleen als de handler toegankelijk is via internet.

De volgende parameters worden als GET-parameters aan de handler doorgegeven.

  • id - de unieke identificatie van de screenshot, gebruikt door de GetResult methode
  • bestandsnaam - de bestandsnaam van de screenshot, automatisch gemaakt door de unieke identificatie van de screenshot te combineren met de bestandsextensie
  • bericht - elk bericht vanwege een fout die is veroorzaakt tijdens de verwerking van de schermafbeelding
  • customId - elke aangepaste id die werd doorgegeven aan de GrabzIt-webservice via de Save methode
  • format - het formaat van de screenshot, bijv. "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " webp "," tiff "of" xlsx "
  • targeterror - als een 1 wordt geretourneerd, bevat de opname een generieke fout vanwege een probleem dat wordt veroorzaakt door het doel van de opname

Als u alle toegang tot de handler wilt blokkeren, behalve GrabzIt, gebruikt u dit beveiligingstechniek.

Voorbeeld

Onthoud dat dit terugbellen niet werkt als uw toepassing zich op localhost bevindt.

Dit voorbeeld laat zien hoe de GrabzIt Python-handler kan worden geïmplementeerd. Hiermee worden vijf parameters vastgelegd die zijn doorgegeven vanuit de GrabzIt-service, inclusief de unieke id van de screenshot die wordt doorgegeven aan de GetResult methode.

Deze methode retourneert vervolgens de screenshot, wat is saved in de resultatenmap. Maar als een null waarde wordt geretourneerd door de GetResult methode geeft dit aan dat er een fout is opgetreden.

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