Narzędzia do przechwytywania i konwertowania Internetu

Handler with RubyRuby API

Opis

Masz problemy z debugowaniem programu obsługi? Spróbuj Narzędzie do testowania obsługi wywołania zwrotnego.

Opisany tu moduł obsługi przetwarza wywołania zwrotne z serwisu internetowego zrzutu ekranu GrabzIt. Adres URL tej procedury jest przekazywany do GrabzIt w pliku callBackURL parametr save Metoda. Jednak ta technika będzie działać tylko wtedy, gdy program obsługi jest dostępny przez Internet.

Następujące parametry są przekazywane do modułu obsługi jako parametry GET.

  • id - unikalny identyfikator zrzutu ekranu, używany przez get_result metoda
  • nazwa pliku - nazwa pliku zrzutu ekranu, tworzona automatycznie przez połączenie unikalnego identyfikatora zrzutu ekranu z jego rozszerzeniem
  • wiadomość - każda wiadomość spowodowana błędem spowodowanym podczas przetwarzania zrzutu ekranu
  • customId - dowolny niestandardowy identyfikator które zostały przekazane do serwisu internetowego GrabzIt za pośrednictwem save metoda
  • format - format zrzutu ekranu, np. „bmp8”, „bmp16”, „bmp24”, „bmp”, „csv”, „gif”, „jpg”, „json”, „pdf”, „png”, „ tiff ”,„ webp ”lub„ xlsx ”
  • celerror - jeśli zostanie zwrócony 1, wówczas przechwytywanie zawiera błąd ogólny z powodu problemu spowodowanego przez cel przechwytywania

Jeśli chcesz zablokować cały dostęp do modułu obsługi, oprócz GrabzIt, użyj tego technika bezpieczeństwa.

Przykład

Pamiętaj, że to wywołanie zwrotne nie będzie działać, jeśli aplikacja znajduje się na komputerze lokalnym.

Ten przykład pokazuje, jak można zaimplementować moduł obsługi GrabzIt Ruby. Przechwytuje pięć parametrów przekazanych mu z usługi GrabzIt, w tym unikalny identyfikator zrzutu ekranu, który jest przekazywany do get_result Metoda.

Ta metoda następnie zwraca zrzut ekranu, który jest saved w katalogu zrzutów ekranu. Jednak jeśli a nil wartość jest zwracana z get_result metoda oznacza, że ​​wystąpił błąd.

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