Web Yakalama ve Dönüştürme Araçları

Python ile İşleyiciPython API

Açıklama

İşleyicinizi hata ayıklamakta sorun mu yaşıyorsunuz? Dene Geri arama İşleyicisi Test Aracı.

Burada açıklanan işleyici, GrabzIt ekran görüntüsü web servisinden gelen geri aramaları işler. Bu işleyicinin URL’si, İnternet’teki GrabzIt’e callBackURL parametresi Save yöntemi. Bununla birlikte, bu teknik yalnızca işleyiciye İnternet üzerinden erişilebiliyorsa çalışır.

Aşağıdaki parametreler işleyiciye GET parametreleri olarak iletilir.

  • id - ekran görüntüsünün benzersiz tanımlayıcısı GetResult yöntem
  • dosya adı - ekran görüntüsünün benzersiz tanımlayıcısının dosya uzantısıyla birleştirilmesiyle otomatik olarak oluşturulan ekran görüntüsünün dosya adı
  • mesaj - ekran görüntüsünün işlenmesi sırasında ortaya çıkan bir hata nedeniyle herhangi bir mesaj
  • customId - herhangi bir özel kimlik Bu, GrabzIt web servisine Save yöntem
  • format - ekran görüntüsünün formatı, örneğin "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " webp "," tiff "veya" xlsx "
  • targeterror - Bir 1 döndürülürse, yakalama hedefi tarafından neden olunan bir sorun nedeniyle yakalama genel bir hata içeriyorsa

İşleyiciye GrabzIt dışında tüm erişimi engellemek istiyorsanız, bunu kullanın. güvenlik tekniği.

Örnek

Unutmayın ki bu geri arama, uygulamanız localhost'ta bulunuyorsa çalışmayacaktır.

Bu örnek, GrabzIt Python işleyicisinin nasıl uygulanabileceğini gösterir. Bu, kendisine gönderilen ekran görüntüsünün benzersiz kimliği de dahil olmak üzere GrabzIt hizmetinden kendisine iletilen beş parametreyi yakalar. GetResult yöntemi.

Bu yöntem daha sonra ekran görüntüsünü döndürür. saveSonuçlar dizininde d. Ancak eğer bir null değer GetResult Bu, bir hatanın oluştuğunu gösterir.

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