ওয়েব ক্যাপচার এবং রূপান্তর করার সরঞ্জামসমূহ

পাইথনের সাথে হ্যান্ডলারপাইথন এপিআই

বিবরণ

আপনার হ্যান্ডলারটি ডিবাগ করতে সমস্যা হচ্ছে? চেষ্টা কর কলব্যাক হ্যান্ডলার পরীক্ষার সরঞ্জাম।

এখানে বর্ণিত হ্যান্ডলার গ্র্যাবিজ স্ক্রিনশট ওয়েব পরিষেবা থেকে কলব্যাকগুলি প্রক্রিয়া করে। এই হ্যান্ডলারের URL টি GrabzIt এ দেওয়া হয়েছে callBackURL এর প্যারামিটার Save পদ্ধতি। তবে এই কৌশলটি কেবল তখনই কাজ করবে যদি হ্যান্ডলারটি ইন্টারনেটের মাধ্যমে অ্যাক্সেসযোগ্য হয়।

নিম্নলিখিত পরামিতিগুলি হ্যান্ডলারের কাছে GET পরামিতি হিসাবে প্রেরণ করা হবে।

  • আইডি - স্ক্রিনশটের অনন্য শনাক্তকারী, দ্বারা ব্যবহৃত GetResult পদ্ধতি
  • ফাইলের নাম - স্ক্রিনশটের ফাইল নাম, এটি ফাইল এক্সটেনশনের সাথে স্ক্রিনশটের অনন্য সনাক্তকারীকে সংযুক্ত করে স্বয়ংক্রিয়ভাবে তৈরি করা হয়
  • বার্তা - স্ক্রিনশট প্রক্রিয়াকরণের সময় ত্রুটির কারণে কোনও বার্তা
  • কাস্টমআইড - যে কোনও কাস্টম আইডি যেটি গ্রাবাজিট ওয়েব সার্ভিসে পাস করা হয়েছিল Save পদ্ধতি
  • ফর্ম্যাট - স্ক্রিনশটের ফর্ম্যাট, যেমন "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " ওয়েবপ "," টিফ "বা" এক্সএলএক্সএক্স "
  • টার্গেটরআর - যদি কোনও এক্সএনএমএক্স ফিরে আসে তবে ক্যাপচারটিতে জেনেরিক ত্রুটি থাকে, ক্যাপচার লক্ষ্য দ্বারা সৃষ্ট সমস্যার কারণে

আপনি যদি গ্র্যাবজিট ব্যতীত হ্যান্ডলারের সমস্ত অ্যাক্সেস অবরুদ্ধ করতে চান তবে এটি ব্যবহার করুন সুরক্ষা কৌশল.

উদাহরণ

মনে রাখবেন যে আপনার অ্যাপ্লিকেশন লোকালহোস্টে অবস্থিত থাকলে এই কলব্যাক কাজ করবে না।

এই উদাহরণটি দেখায় যে গ্র্যাবজিট পাইথন হ্যান্ডলারটি কীভাবে প্রয়োগ করা যেতে পারে। এটি গ্র্যাবসআইটি পরিষেবা থেকে এটিতে দেওয়া পাঁচটি প্যারামিটার ক্যাপচার করে, এতে স্ক্রিনশটের অনন্য আইডি যা পাস করা হয় GetResult পদ্ধতি।

এই পদ্ধতিটি তখন স্ক্রিনশটটি দেয়, যা is saveফলাফল ডিরেক্টরিতে d। তবে যদি ক null মানটি থেকে ফিরে আসে GetResult পদ্ধতিটি নির্দেশ করে যে কোনও ত্রুটি ঘটেছে।

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