সুচিপত্র:

একটি অ্যাসিঙ্ক্রোনাস লগইন ফর্ম সহ একটি অ্যাজাক্স ওয়েবসাইট স্পাইডিং: 6 টি ধাপ (ছবি সহ)
একটি অ্যাসিঙ্ক্রোনাস লগইন ফর্ম সহ একটি অ্যাজাক্স ওয়েবসাইট স্পাইডিং: 6 টি ধাপ (ছবি সহ)

ভিডিও: একটি অ্যাসিঙ্ক্রোনাস লগইন ফর্ম সহ একটি অ্যাজাক্স ওয়েবসাইট স্পাইডিং: 6 টি ধাপ (ছবি সহ)

ভিডিও: একটি অ্যাসিঙ্ক্রোনাস লগইন ফর্ম সহ একটি অ্যাজাক্স ওয়েবসাইট স্পাইডিং: 6 টি ধাপ (ছবি সহ)
ভিডিও: Module 29: Sequence Diagrams : Part 1 (Lecture 41) 2024, নভেম্বর
Anonim
একটি অ্যাসিঙ্ক্রোনাস লগইন ফর্ম সহ একটি Ajax ওয়েবসাইট স্পাইডিং
একটি অ্যাসিঙ্ক্রোনাস লগইন ফর্ম সহ একটি Ajax ওয়েবসাইট স্পাইডিং

সমস্যা: স্পাইডিং টুলস AJAX লগইন প্রমাণীকরণের অনুমতি দেয় না।

এই নির্দেশনাটি আপনাকে দেখাবে কিভাবে পাইথন এবং মেকানাইজ নামে একটি মডিউল ব্যবহার করে একটি AJAX ফর্মের মাধ্যমে লগইন করতে হয়। মাকড়সা হল ওয়েব অটোমেশন প্রোগ্রাম যা মানুষের কাছে অনলাইনে তথ্য সংগ্রহ করার জন্য ক্রমবর্ধমান জনপ্রিয় হয়ে উঠছে। তারা চারপাশের সবচেয়ে শক্তিশালী ওয়েব কোম্পানিকে জ্বালানোর জন্য মূল্যবান উপকরণ সংগ্রহ করে ওয়েবের চারপাশে ঘুরে বেড়ায়। অন্যরা ঘোরাফেরা করে এবং সিদ্ধান্ত গ্রহণের উন্নতির জন্য নির্দিষ্ট ডেটা সংগ্রহ করে, অথবা বর্তমানে "ইন" কি আছে তা অনুমান করে, অথবা সবচেয়ে সস্তা ভ্রমণ রুট খুঁজে পায়। মাকড়সা (ওয়েব ক্রলার, ওয়েববট, বা স্ক্রিন স্ক্র্যাপার) এইচটিএমএল গুপকে বুদ্ধিমান ডেটার কিছু সিম্বলনে পরিণত করার জন্য দুর্দান্ত, তবে এজেএক্স সক্ষম ওয়েবপৃষ্ঠার ক্ষেত্রে আমাদের সমস্যা হয় যখন জাভাস্ক্রিপ্ট এবং কুকি সক্ষম সেশন থাকে যা স্বাভাবিকের সাথে চলাচলযোগ্য নয় স্পাইডিং টুলের সেট। এই নির্দেশে আমরা pubmatic.com এ আমাদের নিজস্ব সদস্য পৃষ্ঠা অ্যাক্সেস করব। এই পদক্ষেপগুলি আপনাকে অনুসরণ করার একটি পদ্ধতি দেখাবে, কিন্তু আপনার পৃষ্ঠাটি ভিন্ন হবে। আনন্দ কর!

ধাপ 1: উপকরণ সংগ্রহ করুন

উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন

আপনি আপনার প্রোগ্রামিং সম্পদ সম্পূরক শুরু করতে হবে। আপনার নিম্নলিখিত প্রোগ্রামগুলির প্রয়োজন হবে। এইগুলিকে ইনস্টল করতে সাহায্য করার জন্য তাদের গাইড ব্যবহার করুন … ফায়ারবগ ইনস্টল করুন এটি একটি ফায়ারফক্স অ্যাডন ইনস্টল করুন পাইথন ইনস্টল করুন: python.org যান: python.org যান মেকানাইজ মডিউল ইনস্টল করুন মেকানাইজ করুন মেকানাইজ করুন অন্যান্য দরকারী স্পাইডিং টুলস: বিউটিফুলসুপ

ধাপ 2: একটি সেশন তৈরির জন্য প্রয়োজনীয় শিরোনাম খুঁজুন।

একটি সুসজ্জিত মাকড়সা একটি ওয়েবপৃষ্ঠা অ্যাক্সেস করবে যেন এটি একটি ব্রাউজার যা একজন মানুষের দ্বারা নিয়ন্ত্রিত হচ্ছে যাতে তার আসল উৎপত্তি লুকিয়ে থাকে। ব্রাউজার এবং সার্ভারের মধ্যে মিথস্ক্রিয়ার অংশটি GET এবং POST অনুরোধের মাধ্যমে ঘটে যা আপনি শিরোনামে খুঁজে পেতে পারেন (এই তথ্যটি খুব কমই একটি ব্রাউজারে প্রদর্শিত হয়, কিন্তু খুবই গুরুত্বপূর্ণ)। পেজ ইনফো উইন্ডো খুলতে Ctrl I (ফায়ারফক্সে) টিপে আপনি এই তথ্যটি দেখতে পারেন। নিজেকে একটি মৃদু স্বভাবের ব্রাউজার হিসাবে ছদ্মবেশী করার জন্য আপনাকে অবশ্যই একই শংসাপত্র ব্যবহার করে নিজেকে চিহ্নিত করতে হবে যদি আপনি আপনার ব্রাউজারে জাভাস্ক্রিপ্ট অক্ষম করে পাবমেটিক লগ ইন করার চেষ্টা করেন তবে আপনি খুব বেশি দূরে পৌঁছাতে পারবেন না কারণ জাভাস্ক্রিপ্টের মাধ্যমে পুন redনির্দেশনা করা হয়। তাই বিবেচনা করে যে বেশিরভাগ মাকড়সা ব্রাউজারে জাভাস্ক্রিপ্ট দোভাষী নেই আমাদের বিকল্প লুটের মাধ্যমে লগইন করতে হবে। ব্রাউজার থেকে পাঠানো হেডারের তথ্য পেয়ে শুরু করা যাক যখন আপনি জমা দিন ক্লিক করুন। যদি এটি একটি সাধারণ ব্রাউজার লগইন হয় তবে আপনি ফর্মটি পূরণ করতে এবং জমা দিতে ক্লিক করতে মেকানাইজ ব্যবহার করবেন। সাধারণ লগইন ফর্মগুলি একটি… ট্যাগের মধ্যে সংযোজিত হয় এবং যান্ত্রিকীকরণ এটি জমা দিতে এবং পরবর্তী পৃষ্ঠাটি ঝামেলা ছাড়াই ভোট দিতে সক্ষম হবে। যেহেতু আমাদের একটি সম্পূর্ণ ফর্ম ট্যাগ নেই, তাই জমা দেওয়ার কাজটি জাভাস্ক্রিপ্ট দ্বারা পরিচালিত হচ্ছে। আসুন pubmatic এর submitForm ফাংশন পরীক্ষা করি। এটি করার জন্য, প্রথমে ফায়ারফক্সে ওয়েবপেজটি খুলুন এবং নিচের ডানদিকের কোণে ফায়ারফ্লাই ক্লিক করে ফায়ারবাগ চালু করুন। তারপরে স্ক্রিপ্ট ট্যাবে ক্লিক করুন, প্রদর্শিত সমস্ত কোড অনুলিপি করুন এবং এটি আপনার পছন্দের পাঠ্য সম্পাদনা সফ্টওয়্যারটিতে পেস্ট করুন। তারপর আপনি ফাংশন SubmitForm ছাড়া সব কোড মুছে ফেলতে পারেন। এটি "submitForm (theform) {" ফাংশন এবং এর মধ্যে সবকিছু এবং কার্লি বন্ধনী বন্ধ করার ফাংশন "}" দিয়ে শুরু হয়। এই ফাংশনটি খুব আদিমভাবে বিশ্লেষণ করে আমরা লক্ষ্য করি যে কিছু প্রমাণীকরণ xmldoc নামক একটি পরিবর্তনশীলকে ফিরিয়ে আনছে যা xml হিসাবে বিশ্লেষণ করা হচ্ছে। এটি AJAX এর একটি প্রধান বৈশিষ্ট্য এটি সার্ভারকে পোল করেছে এবং কিছু এক্সএমএল ডকুমেন্ট ফিরিয়ে এনেছে যাতে তথ্যের বৃক্ষ রয়েছে। নোড সেশন_আইডটিতে সেশন_আইডি থাকে যদি প্রমাণীকরণ সফল হয়, আপনি এই বিট কোডটি দেখে বলতে পারেন: "if (session_id! = Null) {// লগইন সফল"। এখন আমরা জাভাস্ক্রিপ্টের এই বিটটিকে আমাদের কোথাও নিয়ে যাওয়া থেকে বিরত রাখতে চাই যাতে আমরা প্রমাণীকরণের সময় সার্ভারে কী পোস্ট করা হয় তা দেখতে পারি। এটি করার জন্য আমরা যে কোনও উইন্ডো পুনirectনির্দেশগুলি মন্তব্য করি যা এইরকম: "window.location =…"। এই মন্তব্য করার আগে তাদের মত ডাবল স্ল্যাশ যোগ করুন: "//window.location…" এটি কোডটি চালানো থেকে বিরত রাখে। আপনি নীচের জাভাস্ক্রিপ্ট ফাইলটি ডাউনলোড করতে পারেন যা এই সম্পাদনাগুলি ইতিমধ্যেই তৈরি করেছে। জাভাস্ক্রিপ্টের এই সম্পাদিত বিটটি কন্সোল উইন্ডোতে ডানদিকে কপি এবং পেস্ট করুন এবং রান ক্লিক করুন। এটি আমাদের নতুন সংস্করণের সাথে ইতিমধ্যে পৃষ্ঠায় থাকা জাভাস্ক্রিপ্ট ফাংশনকে ওভাররাইড করে। এখন যখন আপনি আপনার শংসাপত্র পূরণ করুন এবং জমা দিন ক্লিক করুন আপনি পোস্ট এবং GET হেডার তথ্য কনসোল পূরণ দেখতে হবে, কিন্তু আপনি কোথাও যেতে হবে না। এটি যতটা সম্ভব, একটি নোটপ্যাডে সেই তথ্যটি অনুলিপি করুন এবং আটকান।

ধাপ 3: কোড প্রস্তুত করুন

নতুন হেডার যুক্ত করার আগে আমরা খুঁজে পেয়েছি চলুন একটি টেমপ্লেটেড মেকানিকাইজ লগইন পাইথন কোড তৈরি করি। আমরা এটি দুটি কারণে করছি, প্রথমত আমাদের একটি উপাদান আছে যা নতুন স্টাফ যোগ করার জন্য কাজ করে এবং দ্বিতীয় যাতে আপনি দেখতে পান যে আপনি সাধারণত একটি নন AJAX-y ওয়েবপেজে কিভাবে লগইন করবেন। নোটপ্যাড বা সমতুল্য খুলুন এবং কপি এবং পেস্ট করুন অনুসরণ যখন আপনার কাজ শেষ হয়ে যাবে তখন এটি youfilename.py হিসাবে সংরক্ষণ করুন যেখানে আপনি খুঁজে পেতে পারেন।#! ব্রাউজার () ফাংশন কলের মাধ্যমে ব্রাউজারের উদাহরণ;.set_handle_robots (মিথ্যা) #আপনি যে পেজটি লগইন করতে চান তা খুলুন tobr.open ("https://pubmatic.com/04_betasignin.jsp") #কারণ আমি ফর্মের নাম জানি, আমি কেবল নাম দিয়ে ফর্ম নির্বাচন করতে পারি। ("লগইন")#ফর্ম এলিমেন্টের নাম ব্যবহার করে আমি ফর্ম এলিমেন্টের নাম ইনপুট করি bb ['email'] = "[email protected]" br ['password'] = "Asquid22"#br.submit () ফর্মটি পাঠায় এবং ফলস্বরূপ পৃষ্ঠাটি টেনে দেয়, আপনি একটি নতুন ব্রাউজারের উদাহরণ তৈরি করেন#নীচের প্রতিক্রিয়াটিতে ফলাফলের পৃষ্ঠার প্রতিক্রিয়া থাকে

ধাপ 4: সঠিক সংকেত পাঠান।

সঠিক সংকেত পাঠান।
সঠিক সংকেত পাঠান।

হেডার পোস্টে হেডার যুক্ত করার জন্য মেকানাইজ এর একটি সহজ কাজ রয়েছে, এটি আমাদের একই ব্রাউজারে উপস্থিত হতে সক্ষম করবে যা আপনি প্রথমবার পৃষ্ঠাটি অ্যাক্সেস করতে ব্যবহার করেছিলেন। ফায়ারবাগ ব্যবহার করে পাওয়া হেডার দিয়ে ফাইলটি খুলুন এবং মেলাতে এই টেক্সট ফাইলটি সম্পাদনা করুন। শিরোনাম তালিকা থেকে সঠিক আইটেম দিয়ে উদ্ধৃতিতে সবকিছু প্রতিস্থাপন করুন: USER_AGENT = "Mozilla/5.0 (X11; U; Linux i686; tr-TR; rv: 1.8.1.9) Gecko/20071102 Pardus/2007 Firefox/2.0.0.9" HOST = "pubmatic.com" ACCEPT = "text/xml, application/xml, application/xhtml+xml, text/html; q = 0.9, text/plain; q = 0.8, image/png, */ *; q = 0.5 "ACCEPT_LANGUAGE =" en-us, en; q = 0.5 "ACCEPT_ENCODING =" gzip, deflate "ACCEPT_CHARSET =" ISO-8859-1, utf-8; q = 0.7, *; q = 0.7 "KEEP_ALIVE =" 300 " CONNECTION = "Keep-live" CONTENT_TYPE = "application/x-www-form-urlencoded" REFERER = "https://pubmatic.com/04_betasignin.jsp"CONTENT_LENGTH =" 60 "COOKIE =" utma = 103266945.197011012102; no-cache "CACHE_CONTROL =" no-cache "এটি ভেরিয়েবলের একটি সেট তৈরি করে যা আপনি আমাদের হেডারের সাথে যুক্ত করতে ব্যবহার করতে পারেন এই কোডটি লিখছি: br.add_header = [("Host", HOST)] br.add_headers = [("User-agent", USER_AGENT)] br.add_headers = [("Accept", ACCEPT)] br.add_header =

ধাপ 5: যান্ত্রিক কুকিজ

যান্ত্রিক কুকিজ
যান্ত্রিক কুকিজ

এই পদক্ষেপটি হল কারণ যান্ত্রিকীকরণ কুকি হ্যান্ডলিংকে স্বয়ংক্রিয় করে, কিন্তু কী ঘটছে তা জানা গুরুত্বপূর্ণ:

যখন ফর্ম জমা হয় তখন আপনার কাছে সঠিক শিরোনাম থাকে যেমন আপনি জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করে জমা দিয়েছেন। সার্ভার তারপর এই তথ্যটি যাচাই করে এবং একটি সেশন আইডি তৈরি করে এবং ব্যবহারকারীর নাম এবং পাসওয়ার্ড সঠিক হলে এটি একটি কুকিতে সংরক্ষণ করে। সুসংবাদ হল মেশিনাইজ স্বয়ংক্রিয়ভাবে কুকিজ খায় এবং পুনরায় চালু করে যাতে আপনাকে কুকি পাঠানো এবং গ্রহণের বিষয়ে চিন্তা করতে হবে না। সুতরাং একবার আপনি কাজ করে এমন একটি সেশন আইডি তৈরি করলে আপনি ওয়েবসাইটের শুধুমাত্র সদস্যদের বিভাগে প্রবেশ করতে পারেন।

ধাপ 6: হৃদয়ের চাবি

এখন যেহেতু আমরা একটি সেশন আইডি অর্জন করেছি এবং মেকানিকাইজ এটিকে তার কুকিতে সংরক্ষণ করেছি আমরা জাভাস্ক্রিপ্ট অনুসরণ করে দেখতে পারি যে আমাদের কোথায় যেতে হবে। সফলতার জন্য কোথায় যেতে হবে তা দেখতে "if (session_id! = Null) {// লগইন সফল" এর ভিতরে তাকান। উইন্ডো স্থানান্তর কোডের দিকে তাকিয়ে: "if (adurlbase.search (/pubmatic.com/)! = -1) {window.location =" https://pubmatic.com/05_homeloggedin.jsp " +"? V = " + Math.random ()*10000; " আমরা দেখি যে আমাদের https://pubmatic.com/05_homeloggedin.jsp?v=some এলোমেলো নম্বরে অবস্থিত একটি ওয়েবসাইটে যেতে হবে। তাই আসুন শুধু একটি ভুয়া র্যান্ডম নম্বর তৈরি করি এবং নতুন ব্রাউজারের উদাহরণ তৈরি করি নতুন করে খোলা পৃষ্ঠাটি পড়ার জন্য: response2 = br.open ("https://pubmatic.com/05_homeloggedin.jsp?v=2703") এবং সেটা উচিত এটা হতে। আপনার কোডটি এখন সম্পূর্ণ হয়েছে, যথাযথ হেডার ব্যবহার করে এবং কুকি হ্যান্ডলারকে যান্ত্রিক করে আমরা এখন pubmatic- এর অভ্যন্তরে প্রবেশ করতে পারি। এই টাইপ করতে python2.5 এবং তারপর.py ফাইলের ফাইলপথ।

প্রস্তাবিত: