वेब पर कब्जा और परिवर्तित करने के लिए उपकरण

रूबी के साथ हैंडलररूबी एपीआई

विवरण

अपने हैंडलर को डिबग करने में समस्याएँ हो रही हैं? की कोशिश कॉलबैक हैंडलर टेस्ट टूल।

हैंडलर ने यहां बताया कि GrabzIt स्क्रीनशॉट वेब सेवा से कॉलबैक की प्रक्रिया करता है। इस हैंडलर का URL GrabzIt में पास किया गया है callBackURL का पैरामीटर save विधि. हालांकि यह तकनीक केवल तभी काम करेगी जब हैंडलर इंटरनेट के माध्यम से सुलभ हो।

निम्नलिखित मापदंडों को जीईटी मापदंडों के रूप में हैंडलर को पारित किया जाता है।

  • आईडी - स्क्रीनशॉट का विशिष्ट पहचानकर्ता, द्वारा उपयोग किया जाता है परिणाम प्राप्त करें तरीका
  • फ़ाइल नाम - स्क्रीनशॉट का फ़ाइल नाम, स्वचालित रूप से स्क्रीनशॉट के विशिष्ट पहचानकर्ता को फ़ाइल एक्सटेंशन के साथ जोड़कर बनाया जाता है
  • संदेश - स्क्रीनशॉट के प्रसंस्करण के दौरान किसी त्रुटि के कारण कोई संदेश
  • customId - कोई भी कस्टम आईडी कि के माध्यम से GrabzIt वेब सेवा के लिए पारित किया गया था save तरीका
  • प्रारूप - स्क्रीनशॉट का प्रारूप, उदाहरण के लिए "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " झगड़ा "," वेबप "या" xlsx "
  • टारगेटर - अगर 1 लौटाया जाता है, तो कैप्चर में जेनेरिक त्रुटि होती है, कैप्चर टारगेट के कारण किसी समस्या के कारण

अगर आप GrabzIt को छोड़कर हैंडलर के सभी एक्सेस को ब्लॉक करना चाहते हैं, तो इसका उपयोग करें सुरक्षा तकनीक.

उदाहरण

याद रखें यदि आपका एप्लिकेशन लोकलहोस्ट पर स्थित है तो यह कॉलबैक काम नहीं करेगा।

यह उदाहरण दिखाता है कि कैसे एक GrabzIt रूबी हैंडलर लागू किया जा सकता है। यह GrabzIt सेवा से पाँच पैरामीटरों को कैप्चर करता है, जिसमें स्क्रीनशॉट की अनूठी आईडी भी शामिल है, जिसे पास किया गया है परिणाम प्राप्त करें विधि.

यह विधि तब स्क्रीनशॉट लौटाती है, जो है saved स्क्रीनशॉट डायरेक्टरी में। हालाँकि यदि ए nil मान से लौटा है परिणाम प्राप्त करें विधि यह इंगित करती है कि एक त्रुटि हुई है।

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