ویب پر گرفت اور تبدیل کرنے کے اوزار

روبی کے ساتھ ہینڈلرروبی API

تفصیل

اپنے ہینڈلر کو ڈیبگ کرنے میں دشواری ہو رہی ہے؟ کی کوشش کریں کال بیک ہینڈلر ٹیسٹ ٹول۔

یہاں بیان کردہ ہینڈلر GrabzIt اسکرین شاٹ ویب سروس سے کال بیکس پر کارروائی کرتا ہے۔ اس ہینڈلر کا URL GrabzIt میں بھیج دیا گیا ہے callBackURL کے پیرامیٹر save طریقہ. تاہم یہ تکنیک تبھی کام کرے گی جب ہینڈلر انٹرنیٹ کے ذریعے قابل رسائی ہو۔

مندرجہ ذیل پیرامیٹرز GET پیرامیٹرز کے بطور ہینڈلر کو منتقل کردیئے گئے ہیں۔

  • ID - اسکرین شاٹ کا انوکھا شناخت کنندہ ، جو استعمال کیا جاتا ہے get_result طریقہ
  • فائل کا نام - اسکرین شاٹ کا فائل نام ، خود بخود اس کی فائل ایکسٹینشن کے ساتھ اسکرین شاٹ کے انوکھا شناخت کنندہ کو جوڑ کر تیار کیا جاتا ہے
  • پیغام - اسکرین شاٹ کی کارروائی کے دوران ہونے والی کسی خرابی کی وجہ سے کوئی بھی پیغام
  • کسٹمڈ - کوئی کسٹم ID جسے GrabzIt ویب سروس کے ذریعہ پاس کیا گیا تھا save طریقہ
  • فارمیٹ - اسکرین شاٹ کی شکل ، جیسے "bmp8" ، "bmp16" ، "bmp24" ، "bmp" ، "csv" ، "gif" ، "jpg" ، "json" ، "pdf" ، "png" ، " جھگڑا "،" ویبپ "یا" xlsx "
  • ہدف سازی - اگر ایک 1 واپس کر دیا گیا ہے تو گرفتاری میں ہدف کی وجہ سے پیدا ہونے والے مسئلے کی وجہ سے گرفت میں عام غلطی ہے۔

اگر آپ ہینڈلر تک تمام رسائی کو مسدود کرنا چاہتے ہیں ، سوائے GrabzIt کے ، تو پھر اس کا استعمال کریں سیکیورٹی تکنیک.

مثال کے طور پر

یاد رکھیں اگر آپ کی درخواست لوکل ہوسٹ پر واقع ہے تو یہ کال بیک کام نہیں کرے گا۔

اس مثال سے پتہ چلتا ہے کہ کس طرح ایک GrabzIt روبی ہینڈلر لاگو کیا جاسکتا ہے۔ اس نے GrabzIt سروس سے اس کو منتقل کیے گئے پانچ پیرامیٹرز کو پکڑ لیا ، اس میں اسکرین شاٹ کا انوکھا ID بھی شامل ہے جو get_result طریقہ.

اس کے بعد یہ اسکرین شاٹ واپس کرتا ہے ، جو ہے saveاسکرین شاٹ ڈائریکٹری میں تاہم اگر nil قدر سے لوٹائی جاتی ہے get_result اس طریقے سے یہ ظاہر ہوتا ہے کہ غلطی واقع ہوئی ہے۔

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