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

Ruby ile işleyicisiRuby 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ı get_result 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", " tiff "," webp "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, bir GrabzIt Ruby 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. get_result yöntemi.

Bu yöntem daha sonra ekran görüntüsünü döndürür. saved ekran görüntüsü dizininde. Ancak eğer bir nil değer get_result Bu, bir hatanın oluştuğunu gösterir.

require 'grabzit'

class HandlerController < ApplicationController
  def index
	  message = params[:message]
	  customId = params[:customid]
	  id = params[:id]
	  filename = params[:filename]
	  format = params[:format]
      targetError = params[:targeterror]
	  
	  grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
	  result = grabzItClient.get_result(id)
	  
	  if result == nil
	          return
	  end

	  # Ensure that the application has the correct rights for this directory.  
	  screenshot = File.new("public/screenshots/"+filename, "wb")
	  screenshot.write(result)
	  screenshot.close 
  end
end