আমার প্রিয় পোস্ট
- ঠকানোর মানে যদি টাকা কম দেওয়া বুঝায়, তাহলে ইসলাম কাকে ঠকালো? পুরুষকে না নারীকে? - মেগামেন
- একটি পুরোপুরি আইনি ব্লগঃ দুনিয়ার বিচিত্র আইন সমুহ (অপ্রাপ্তবয়স্কদের জন্য নহে) - মুরাদ-ইচছামানুষ
- জহির রায়হানের স্ত্রী অভিনেত্রী কোহিনূর আক্তার সুচন্দা ও তার বোন অভিনেত্রী ববিতার চাঞ্চল্যকর তথ্য প্রকাশ বড় বড় নেতার মুখোশ খুলে দিতে চাওয়ায় নিখোঁজ হন জহির রায়হান - অসামাজিক ০০৭০০৭
- মাওলানা ভাসানী - িনরুপমা.কম
- ফায়ারফক্স এর আকর্ষণীয় কিছু ট্রিকস...... - মানচুমাহারা
- চৌধুরী জাফরউল্লাহ শরাফত সমগ্র - সেরকম কালেকশন! (কপি পোস্ট) - আশরাফুল ইসলাম দূর্জয়
- বাংলাব্লগের লিংক খুঁজছেন?? এই নিন বাংলা ব্লগের লিংক; আর মজা করে ব্লগিং করুন। - আজাদ আল্-আমীন
- হে নাস্তিক...! - মেরিনার
- ১০০ রসিকতা । হাসতে হবেনা ঠোট বাঁকালেই চলবে !!.....চামে একটা চরম ১৮+ ফাউ - ছোট মামা
- বাগদাদের ব্যাটারি এবং পীরি রইস এর ম্যাপ।রহস্যময় দুনিয়া-২ - শূণ্য উপত্যকা
- অদ্বিতীয় সংখ্যা বা UNIQUE NUMBER - পগলা জগাই
- জেনে নেই বাংলাদেশের সকল ব্যাংকের টুক-টাক সকল তথ্য ( ওয়েব এড্রেসসহ) - রাকা ও আমি
- মহানবী হযরত মুহাম্মদ (সা: ঘরের কিছু ছবি - তর্ষ
- বাংলাদেশের প্রতারক মোবাইল কোম্পানিগুলোর বিশেষ লোগো উন্মোচন করা হল - ফিউশন ফাইভ
- এক্সপি জেনুইন করার একটি সহজ উপায়। - অমিত০৯৭
- আমার পড়তে ভাল্লাগেনা - পাহাড়ের কান্না
- নাস্তিকদের নৈতিক রূপ কি এসব করা??? - কঠিন চিজ
- যারা অনুবাদকৃত কোরআন এবং অন্যান্য ধর্মগ্রন্থের ভালো WebSite Link চান, তাদের জন্য

- কঠিন চিজ
- গসপল অব বারনাবাস (বারনাবাসের ইনঞ্জিল) - ফুয়াদ০দিনহীন
- কেন এত ভূমিকম্প সংগঠিত হয়? এবং এথেকে পরিত্রাণের উপায় - উমর
-
সামহোয়্যার ইন কিডস
- পুরাতন
- যুদ্ধাপরাধীদের বিচারের দাবী এবং একজন স্বঘোষিত পর্নোষ্টার - জাতেমাতাল
- বাংলা অনুবাদক - অপেক্ষমান
- বেঞ্চমার্ক মুহাম্মদ (স):। লাইফ ইজ বিউটিফুল। ট্রাই করেই দেখুন না। প্লিজ! - পাললিক মন
- উনিশ তত্ত্ব বিশ্লেষণ (২য় পর্ব) : অ্যানসারিং সাবমিশন ১ - মাসুদুল হক
- অনলাইনে প্রতিদিন ঃ বাংলা ভাষায় ইসলামিক ওয়েব সাইট/পোষ্ট সমুহ - সিটিজি৪বিডি
- "ইসলামের নামে প্রচলিত ভুল তথ্য" শীর্ষক পোষ্টের উপর মন্তব্য - নূরুল্লাহ তারীফ
- ভূমিকম্প: রিখটার স্কেল-২য় পর্ব - সুজয়
- কাব্বালাহ: সংক্ষিপ্ত পর্যালোচনা - ইমন জুবায়ের
- আসুন জেনে রাখি হাদীসের কিতাব সমূহের স্তর বিভাগঃ - mamun
- মৌমাছি—বিস্ময়কর এক ভেক্টর গণিতবিদ ! - ম্যাভেরিক
- গ্যাস ব্লক ইজারা: এবার সাগর লুটের লাগলো ধুম - দিনমজুর
- পাকিস্তান সোয়াত - আসলেই কী এটা শরিয়া আইনের জন্য যুদ্ধ? (দ্বিতীয় পর্ব) - পি মুন্সী
- BTCL ডায়াল আপ ইন্টারনেট এখন সব ফোন গ্রাহকই পাবেন - মুছাব্বির
- উইন্ডোজ রি ইনষ্টল করার পর উবুন্তুতে বুট করতে না পারার সমস্যায় পড়লে... - নাজিরুল হক
- পবিত্র কোরআনের ১৮ নং সূরা কাহাফ এর ৯০ নং আয়াত সম্পর্কে একজন প্রশ্নকারীর প্রশ্নের জবাবে বলছি- - মাহফুজশান্ত
- আজাইরা ও হইতে পারে, আবার কাজে ও লাগতে পারে, আমার কাজে লেগেছে। - বিলাল
- কুরআনের ভাষাশৈলী - নো ব ডি
- আসুন নিজের ঘরের জন্য একটা ছোট আইপিএস বানাই (টেকিদের জন্য) - রাব্বি !
- মেধাহীন 'করপোরেট' মেরুকরণ, গড্ডালিকার নর্দমা, ডিজুস তারুণ্য - সাঈফ শেরিফ
- ফটো রসিকতা - ৩ [
] - শূন্য আরণ্যক
- জাতীয় পাখি দোয়েল - জনদরদী
- বিজ্ঞানের থিওরী এবং টাইম মেশিনের সম্ভাবনা এবং অন্যান্য (নাস্তিকদের অনেক প্রশ্নের উত্তর) - আকাশ_পাগলা
- সামহোয়ারইনের যত্তসব অপশনের ব্যাবচ্ছেদ - কাঙাল মামা
- বিডিআর বিদ্রোহ প্রসঙ্গে কিছু প্রশ্ন - জলপাই দেশি
- আগামীবার যখন উইন্ডোজ নতুন করে সেটআপ দেবেন....... - নাফিস ইফতেখার
- অদ্ভুতুড়ে: আটলান্টিস (পর্ব: ১) - সব্যসাচী প্রসূন
- সেরা কিছু সার্চ ইঞ্জিন অপটিমাইজেশন ব্লগ | পডুন, জানুন এবং অন্যকে জানান - হাসান
- কিয়ামত বা মহাপ্রলয় (২য় পর্ব) - মাহফুজশান্ত
- ইসলামে উত্তরাধিকার আইন (১): কতটা গাণিতিক ব্যবহারিক আইন - মাসুদুল হক
- বিবর্তনবাদ : কতটা বিবর্তিত - মাসুদুল হক
- ২০০৮ : আপনার চোখে ব্লগের বর্ষসেরা লেখা কোনটি? (আপডেট-১২ : একটি বিশেষ ঘোষণা) - ব্রিগেড সিক্সটিন
- আমাদের পানির দাবী ভুলুন্ঠিত করলেন আমাদের পানি মন্ত্রী ! কি সুন্দর স্বাধীনতা সার্বভৌমত্বের রক্ষক! - রাজনীতি
- একজন সাবেক ইহুদী ও একজন নাস্তিকের সংলাপ - দ্বীপবালক
- আদালতের দূর্নীতির রায়ের কিছু সূচকে আওয়ামীলীগ বিএনপিকে টেক্কা দিয়েছে! - আওরঙ্গজেব
- ইসলাম সম্পর্কে অমুসলিমদের কিছু প্রশ্নের উত্তর। উত্তর নং: ১। - তৌসিক আহম্মেদ
- সেনাবাহিনী থেকে ইসলামি ভূত তাড়ানোর ‘সেকুলার প্লান’ -- ফরহাদ মজহার - আহসান মোহাম্মদ ক
- জয়ের থিসিস, আইএসআই এর কাজিন এবং বাংলাদেশের আহমেদ সালাবী - আওরঙ্গজেব
- কম্পিউটারকে নেটওয়ার্কে লুকানোর পদ্ধতি - jewelosman
- নমস্য ইউজার - গুগল, ইয়াহু!, আর আন্তর্জালের দূরদর্শিতা - রাগিব
- মুক্তিযুদ্ধে শহীদের সংখ্যা : বিতর্কের স্থায়ী সমাধানের উপায়। - কাঙ্গাল মুরশিদ
- আল-কোরআনের নতুন সাইট - কাঙ্গাল মুরশিদ
- বাংলা, ইংরেজী ও অারবী এ তিনটি ভাষায় ৩০ পারা কোরঅান । - সংলপ
- আমার নাস্তিক ভাবনা(১) : সত্য সন্ধানী - কাঙ্গাল মুরশিদ
- অ্যান্টেনা গ্যালাক্সী - হুমায়রা হারুন
- মুখোশধারী ইসলামবিরোধী অন-লাইন যোদ্ধারা - ২ - দ্বীপবালক
- প্রয়োজনীয় ১০০+ Run Command - লুলুপাগলা
- একজন নাস্তিকের আস্তিক হওয়া আর চীনা মুসলমানেরা - মাহিরাহি
- সালাতের ফ্লোচার্ট
- এক পশলা বৃষ্টি
- ওরিয়ানা ফালাচির নেয়া শেখ মুজিবুর রহমানের সাক্ষাৎকার - মাহবুব মোর্শেদ
- মুক্তিযুদ্ধে জিয়াউর রহমান পাকিস্তানের এজেন্ট ছিলেন ? - ছটিক মাহমুদ
- কিছু অসুস্থ মনের মানুষদের প্রতি - ভাবনা
- বিজ্ঞানের সীমাবদ্ধতা - হিমু রুদ্র
- নাস্তিকতা: স্বল্প জ্ঞানের ভয়ঙ্কর পরিনতি। - কাঙ্গাল মুরশিদ
- শূন্য যেখানে জ্ঞানশূন্য একক সেখানে কিছু, আর আল্লাহরে কে বানাইলো - সারওয়ারচৌধুরী
- DRINK WATER ON EMPTY STOMACH - মোঃ খায়ের উল আহসান টিপু
- অণুকবিতা এবং তার কিছু চর্চা
- একরামুল হক শামীম
- আপনি কতটা অসাধারন (পুরান পোস্ট) নতুনদের জন্য ঢং - আউলা
- মজার ইলিশ, হরেক পদ (২): ইলিশ মাছের ডিমের ঝোল - ভূলু
- নারী পুরুষের বাম পার্শ্বের পাজরের হাড় থেকে সৃষ্টি হয়েছে, এটা কতটুকু যুক্তিযুক্ত? - গোস্বামী
- মুসলমানরাই কেবল সন্ত্রাসী নয় - মাহিরাহি
- Proxy Server Setting Tutorial (Collected) - নয়ন
- আল্লাহ্ কে, তাঁর পরিচয় কি? তিনি দেখতে কেমন, তাঁর লিঙ্গ কি? - আবূসামীহা
- নবীজি সা: এর বহুবিবাহের কারন - মাহিরাহি
PHP::cURL - একটি Facebook Remote Script
১০ ই ডিসেম্বর, ২০০৯ রাত ৮:৪৪
কাজ করতে ইচ্ছে করছে না, কারন অনেক কাজ জমে গেছে।তাই কাজ থেকে ফাকি দেবার জন্যেই এই লেখা, অবশ্য টেকি পোস্ট।
কি জন্য এই পোস্ট, সেটা জেনে এই লেখা পড়তে হলে এইখানে ক্লক করুন।
আমরা যখন একটা ওয়েবপেজ ব্রাউজ করি, তখন ব্রাউজার প্রথমে টেক্সট (এইচ.টি.এম.এল) রিড করে, এবং পরে রিসোর্স লিংক থেকে রিসোর্স ডাউনলোড করে থাকে, ছবি/ফ্ল্যাশ এপলেট/জাভা এপলেট ইত্যাদি। খেয়াল করে থাকবেন হয়তো, যে কমপিউটারে এ্যাডোব ফ্ল্যাশ প্লেয়ার ইনস্টল করা থাকে না, সেখানে ফ্ল্যাশ এপলেট রান করে না। কারন ব্রাউজারের রিসোর্স ম্যানেজার যখন HTML Code থেকে ফ্ল্যাশ এপলেটের URL খুজে পায়, তখন অপারেটিং সিস্টেমের কাছে এক্সটেশন/প্লাগইন Seek করে। যদি অপারেটিং সিস্টেম রেসপন্স করে থাকে যে ফাইল এক্সটেশন/প্লাগইনটি পরিচিত, তখন URL থেকে ফ্ল্যাশ এপলেট ডাউনলোড হতে থাকে, এবং ফ্ল্যাশ প্লেয়ার মুভি/এপলেট রিড করে। এটা সহজ ভাষায় ব্রাউজারের একটিভিটি।
এখন আমরা যদি একটি Script লিখতে চাই তবে আমাদেরকে একটা প্রক্সি এ্যাপলিকেশন লিখতে হবে, যা ব্রাউজারের মতো আচরন করবে। কারন, সার্ভারের কাছে রিসোর্সের জন্য রিকোয়েস্ট পাঠাতে হলে RFC মেনে কাজ করতে হয়। তাহলে আমাদেরকে কি অনেক Routine Script লেখতে হবে? না এই জন্য আমরা অনেকগুলো টেকনিক ব্যবহার করতে পারি। যেমন, WGET, Socket, File, CURL। তবে আমি এখানে CURL নিয়ে কিছু কথা বলবো। অন্যগুলো না হয় অন্যকোনো 'ফাকি দিবসে' লেখা যাবে।
WGET, CURL হলো একটি ইউনিক্স প্রোগ্রাম যা ইউনিক্স Shell এ Run করে। Socket হলো প্রটোকল, আর আমরা এখানে PHP তে উদাহরন টানবো, এবং এই ল্যাংগুয়েজে Socket এর জন্য বিল্টইন ফাংশন আছে। File এর ও PHP তে ফাংশন বিদ্যমান। যারা উইন্ডোজ ইউজার তাদের চিন্তিত হবার কারন নেই, কারন CURL এর মড্যুল PHP এর উইন্ডোজ ডিস্ট্রিবিউশনে বান্ডেল করে দেয়া আছে। যা হোক, ভুমিকা বাদ দেই, তাতে আমাদের সবার ধৈর্য্যচ্যুতি ঘটতে পারে (আমার ঘটে গেছে
)।
cURL = Client URL
মনে করি আমরা একটা এ্যাপলিকেশন বানাবো যেটা ফেসবুকের স্ট্যাটাস চেন্জ করে দিবে আপনার ওয়েব সাইট থেকে বা লোকালহোস্ট থেকে।
একটা এইচটিএমএল ফরম তৈরী করি, যেখানে ইনপুট হিসেবে ইউজার, পাসওয়ার্ড, এবং স্ট্যাটাস ম্যাসেজ থাকবে। এবং index.php নামে ওয়েবসার্ভারের রুটে (বা আলাদা ফোল্ডারে) সেভ করি।
সামু তে বাগ আছে, এইচটিএমএল কন্টেন্ট থাকলে পোস্ট এডিট করলে পরে আর দেখায় না, তাই দয়া করে এটাচমেন্ট থেকে index.php এর কোড দেখে নিন।
আমাদের এখন Proxy Script তৈরী করতে হবে। আমরা প্রথম ফেইসবুকের হোমপেজে ভিজিট করবো যাতে করে ফেইসবুক আমাদের স্ক্রীপ্টকে চিনতে না পারে, এন্ড ইউজার এটিচুড - ফাকি বাজি আরকি!
//Initializing FB Homepage to void suspicious attitude
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
$page = curl_exec($ch);
/*
কোড কমেন্ট:
curl_init() - এই ফাংশন কল করে ইনিশিয়েলাইজ করে নিচ্ছি
curl_setopt() - এই ফাংশন দিয়ে আমরা ব্রাউজারের ব্যবহারবিধি বলে দেব।
CURLOPT_URL - যে পেজটা আমরা এই স্ক্রীপট দিয়ে পড়তে চাই
CURLOPT_SSL_VERIFYPEER - যদি আমরা SSL Certificate Validate করতে চাই তবে ১ হবে, অন্যথায় ০ হবে। সাধারনত ব্যাংকের ট্রানসেকশন সংক্রান্ত প্রসেসে এটা ট্রু করে নিতে হয় নিরাপত্তার জন্য, তবে এর জন্যে Certificate ইন্সটল করে নিতে হয়। সাধারন কাজে লাগে না, তাই ঐ দিকে যাবো না।
CURLOPT_COOKIEFILE - যে ফাইলে আমরা কুকিগোলো সেভ করবো।
CURLOPT_COOKIEJAR - যে ফাইলে আমরা কুকিগোলো রিড করবো।
CURLOPT_COOKIEJAR এবং CURLOPT_COOKIEFILE এর ভ্যালু একই হবে।
CURLOPT_RETURNTRANSFER - আমরা CURL কে বলে দিচ্ছি যে আমরা পেজ ডাউনলোড করবো। না চাইলে ০। এখানে ১ বা ট্রু করতে হবে।
CURLOPT_USERAGENT - এখানে আপনি যা ইচ্ছা লিখে দিতে পারেন। এটাই সার্ভার পড়বে। তবে সন্দেহজনক আচরন থেকে বাচার জন্য পরিচিত ব্রাউজারের মেটা লিখে দেয়া উত্তম। তাতে করে আপনি সন্দেহের তালিকা থেকে বেচে যাবেন ৫০ ভাগ।
curl_exec() - সব সেটিংস হয়ে যাবার পর আমরা এই ফাংশন কে কল করলে Shell এ CURL এক্সেকিউট করবে এবং পেইজ ডাউনলোড করবে একজন মানুষের মতো করে। আমরা $page নামক ভ্যারিয়েবলে পুরো পেইজের HTML কোড ধরে রাখবো পরবর্তী ধাপের জন্য।
*/
আমরা এখন ইউজার আইডি, পাসওয়ার্ড , স্ট্যাটাস ম্যাসেজ দিয়ে ফেইসবুকে লগইন করার চেষ্টা করবো-
//Submitting the login credential to FB
curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?&next=http://m.facebook.com/home.php');
curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&login=Login');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
$page = curl_exec($ch);
/*
কোড কমেন্ট:
এখানে CURL এর দুটো নতুন অপশন প্যারামিটার যোগ হয়েছে -
CURLOPT_POSTFIELDS - আমরা HTML Form এ যে ফিল্ডগুলো এড করেছি সেগুলোকে CURL এর মাধ্যমে POST করবো।
CURLOPT_POST - আমাদের এই অপারেশনে একটি ফরম POST হবে সে সেট করে দিচ্ছি। দেখুন আগের প্রসেসে আমরা POST করিনি, GET করেছি। GET ডিফল্ট অপশন।
$page নামক ভ্যারিয়েবলে পুরো পেইজের HTML কোড ধরে রেখেছি।
*/
বেস্ট কেস হলে আমাদের কাজ শেষ, কিন্তু FB Challenge করে বসলে কাজ হবে না। আরো কিছু সাবধানতা অবলম্বন করতে হবে। দেখি কিভাবে FB Challenge করতে পারে।
আপনার IP পরিচিত না হলে আপনাকে সন্দেহ করে জন্মদিন জিজ্ঞেস করবে। আমরা তারজন্যেও প্রস্তুত। আমাদের চেক করে দেখতে হবে যে স্পেসিফিক কোনো টেক্সট আছে কিনা। এইজন্য রেগুলার এক্সপ্রেশন লাগবে। PHP এর আছে দারুন এক ফাংশন - preg_match। ereg/preg নিয়ে অন্যদিন কথা বলবো। আর এইখানে কোড তুলে দিলে ভালো দেখাচ্ছে না, ডাউনলোড করে নিন এইখান থেকে । -
if(preg_match('/You are signing in from an unfamiliar location/sim',$page)) {
//কিছু করতে হবে
}
এই কাজটি ফেইসবুকের API দিয়ে করা যায়। কিন্তু আমি এখানে PHP - cURL ব্যবহার ও পদ্ধতি দেখাবার জন্য এভাবে বর্ননা করলাম। কারো কোনো কিছু বুঝতে হলে আমাকে জানাবেন, সার্বিক ভাবে সাহায্য করবো। ধন্যবাদ।
হেল্প ও রেফারেন্স লিংক:
PHP কি?
cURL
cURL কি?
প্রকাশ করা হয়েছে: ওয়েব-টেক-নেট বিভাগে । সর্বশেষ এডিট : ০৯ ই ডিসেম্বর, ২০১০ রাত ১০:০০ | বিষয়বস্তুর স্বত্বাধিকার ও সম্পূর্ণ দায় কেবলমাত্র প্রকাশকারীর...
লেখক বলেছেন: আপনার মাথার উপর দিয়া শো শো গতিতে ছুইটা যাবার পরও যে আপনার মাথা গোল আছে, এইজন্য আলহামদুলিল্লাহ। আপনার প্লাস ও পড়ার জন্য আপনাকে অসংখ্য ধন্যবাদ
।
অচন্দ্রচেতন বলেছেন:
উপ্রে দিয়া ...
লেখক বলেছেন: ![]()
ম্দু বলেছেন:
অসাধারন ।কিছু ধারনা আগে থেকেই ছিল...আরও ভালভাবে এখন বুঝতে পারলাম ।আগামীতে কি এরকম আরও কিছু লেখা আশা করতে পারি ?? লেখক বলেছেন: ধন্যবাদ। আগেও কিছু টেকি পোস্ট দিয়েছিলাম। সামুতে টেকি পোস্ট খুব একটা সাড়া পড়ে না। আর বাংলা লিখা তুলনামুলক কষ্ট সাড়া না পেলে লিখতে ইচ্ছা করে না। আপনারা যদি সাথে থাকেন তবে লিখে যাবো ইনশাল্লাহ্।
আগের কিছু পোষ্ট:
আউটসোর্সিং: Ebay শপ ডিজাইনার/প্রোগ্রামারদের জন্য একটি জরুরী টুল
তৈরী করুন এনিমেটেড ছবি - ওয়েব থেকে - বানাইলাম আপনাদের জন্য
তৈরী করুন ভি-কার্ড (মোবাইলের জন্য) - ওয়েব থেকে - বানাইলাম আপনাদের জন্য
তৈরী করুন ভি-ক্যালেন্ডার (মোবাইলের জন্য) - ওয়েব থেকে - বানাইলাম আপনাদের জন্য
উইন্ডোজ এ রাজীয়তি - ২
উইন্ডোজ এ রাজীয়তি
সিউল রায়হান বলেছেন:
ভাল লাগলো পড়ে অফ টপিক: ইউটিউবের কাজটা করার সময় আমি নিজে একটা ক্লাস লিখেসিলাম যেইটা কা্র্লের চেয়েও ফাস্ট কাজ করে
লেখক বলেছেন: Routine Class লিখেছিলেন? দারুন! কোন প্রটোকলে? PHP এর fsockopen এর চাইতে cURL Fast, Robust এবং Reliable। WGET কিন্তু আবার cURL এবং fsockopen এর চাইতে ভালো। ডাউনলোড ব্যন্ডউইথ সবচেয়ে ভালো ইউটিলাইজ করতে পারে। ১ জিবি ডাউনলোড ব্যান্ডউইথ এ ক্লায়েন্টের সার্ভারে আমাদের একটা পিএইচপি এ্যাপলিকেশন (WGET / cURL) রান করছে ১ বছর হলো। অসাধারন পারফরমেন্স।
আপনার ক্লাস সম্পর্কে বলুন, আমরাও জানি।
লেখক বলেছেন: পিএইচপি কে আমিও ভালা পাইতাম না। হাতে খড়ি জব এ জয়েন করে। ২০০৪ এ। এর আগে পার্লে কাজ করতাম। এবং অনেক কাজই করা হয়েছে। বাংলাতে আমার একটা পোর্টাল ছিলো, ২০০২ এ - http://www.banglavasha.com/ । প্রথম বাংলায় ডাইনামিক পোর্টাল। ইউনিজয়, ফোনেটিক ও ইংলিশ লেআউটে বাংলা চ্যাট ছিলো (প্রথম বাংলায় ওয়েব চ্যাট)। সার্ভার ক্র্যাশ করলো। সব হারালাম। ব্যাকআপ ছিলো না। আর ইচ্ছে হলো না নতুন করে করার। তাই ট্রাভেল পোর্টাল করে রেখে দিয়েছি, এটাও পেন্ডিং অবস্থায়।
পার্ল কে আমি খুব ভালা পাই। অন্য রকম ফ্লেভার ![]()
আপনাকে পড়ার জন্য ধন্যবাদ ![]()
কঠিন চিজ বলেছেন:
সারওয়ার ইবনে কায়সার বলেছেন: /তারপরও পোস্টের জন্য প্লাস
চার বিয়ে
Click This Link
লেখক বলেছেন: পোস্ট পড়ার জন্য ধন্যবাদ ![]()
আমি কমেন্টাইছি, তবে ভয়ে ভয়ে ![]()
সিউল রায়হান বলেছেন:
আমিতো fsockopen দিয়েই করেসিলাম ক্লাসটা দিয়ে লাভ নাই, অ্যালগরিদমটা দেই
১) সকেট ওপেন কর ও দরকারী হেডার রিকোয়েস্টগুলিকে একটা স্ট্রিংয়ে নাও
২) "MAX_LIMIT" পরিমাণ ডাটা রিকোয়েস্ট কর গেট/পোস্ট মেথড দিয়ে ( "MAX_LIMIT" = নেটওয়ার্কের সর্বোচ্চ ডাটা ট্রান্সফার লিমিট, যেমন: IP-4 এ এটা মনে হয় ৪০ বাইট)
৩) রেসপন্সকে তুলনা করে দেখ এর মাঝে হেডারের শেষ পাওয়া গেল নাকি ( পরপর দুইটা \r\n আরকি)
৪) যদি না পাওয়া যায় তাহলে রেজাল্ট হেডার অ্যারেতে রেসপন্সকে যোগ কর এবং স্টেপ ২ তে যাও
৫) যদি পাওয়া যায় তাহলে হেডার অংশটুকুন হেডার অ্যারেতে এবং বাকিটুকুন রেজাল্ট অ্যারেতে যোগ কর
৬) হেডারে উল্লেখিত পদ্ধতিতে ( ট্রান্সফার এনকোডিং) বাকি ডাটা রিকোয়েস্ট কর
**************
লাইসেন্স উল্লেখ করে লিখলাম এতে অবাক হবেন না কারণ কোডারদের উচিত লাইসেন্স দিয়ে কাজ করা কারণ কোন বিষয়ে সেই বিষয়টা নিয়ে প্রথম যিনি ভেবেছেন তার কাছে অনেক ইনফো পাওয়া যেতে পারে যা বিষয়টিকে এগিয়ে নিতে সাহায্য করবে...... প্রথম ভাবা মানুষটিও সেই বিষয়টিকে এগিয়ে নিতে চান.....
আর এটাই ওপেন সোর্সের ধারণা...... কোড করবে সবাই.... কোন চুরি হবে না, যা হবে সবার মিলিত চেষ্টায় ও সবাইকে ক্রেডিট দিয়েই হবে
আপনি অ্যালগরিদম নিয়ে কাজ করেন যেহেতু আপনিও এই থিম মেনে চলবেন আশা করি, কোডিং ল্যাংগুয়েজ রিলেটেড আপনার বাকি পোস্টগুলিকেও কোন লাইসেন্সে দিয়ে দিন.....
লেখক বলেছেন: ধন্যবাদ আপনাকে মুল্যবান পরামর্শ দেবার জন্য। প্র্যাকটিস করার চেষ্টা করবো। এবং আপনার একটা লেখা পড়ে WTFPL লাইসেন্স দিয়ে ফেইসবুকের টেস্ট স্ক্রীপ্ট ডাউনলোড করে দিয়েছি ![]()
আপনার এ্যালগরিদম আমার কাছে একটু পুরোনো মনে হয়েছে। আর এইরকম ক্লাস phpclasses.org অনেক আছে। সম্ভবত একটা এওয়ার্ড উইনিং ক্লাস ও আছে। যাই হোক আপনাকে অসংখ্য ধন্যবাদ শেয়ার করার জন্য।
fsockopen দিয়ে স্ক্রীপ্টিং করলে আপনার Script কে ব্যাকগ্রাউন্ড প্রসেসে পাঠিয়ে দেবেন, নাহয় সার্ভার লোড বেড়ে যাবে। সার্ভার ডাউন হয়ে যেতে পারে একাধিক রিকোয়েস্ট একসাথে রান করলে।
আর CURL নিজেই সিস্টেম লেভেলে রান করে, CGI এর মতো। Shell থেকে রিটার্ন নিয়ে বা ফাইল/ডাটাবেজ লগ করে নেক্সট প্রসেসে যেতে পারেন। তবে আপনি ছোট ফাইল বা প্রসেস নিয়ে কাজ করলে fsockopen এ সাচ্ছন্দ্যবোধ করলে তাই দিয়ে করতে পারেন। কিন্তু ব্যান্ডউইথ/মেমরী কনজ্যুম হলে একটু টুইক করে নেবেন।
সিউল রায়হান বলেছেন:
WTFPL লাইসেন্স জিনিস একটা কার্ল নিয়ে কাজ করিনি কারণ এর স্ট্রাকচারটা জানিনা
অন্যদিকে fsockopen এর স্ট্রাকচারটা জানি ( ও শুধু নেটওয়ার্ক প্যাকেট তৈরী করে বাকিটা ওর কাছে যাওয়া প্যারামিটার দিয়ে ফিল করে, কোন এক্সট্রা প্রসেসিং না)...... ফলে আমার মনে হয়েছে এটাই আমার কাজের জন্য পারফেক্ট......
তবে কার্লকে হাই লেভেল থ্রেডিংয়ে (মানে প্রতি সেকেন্ডে খুব বিশাল পরিমানে রিকোয়েস্ট আসা কোন সাইট) বিট করা টাফ আছে কারণ ওটা সিস্টেমে চলে অন্যথায় একবার মা্ত্র সকেট ওপেন করা লাগে এমন কাজে fsockopen টাই ভাল....
কোডটা পুরাতন তবে এফিসিয়েন্ট মনে হয়েছে...... আর মিয়া আপনি তো আছেনই এটাকে আরো এফিসিয়েন্ট করতে কারণ এটা ওপেন সোর্স জিনিস
আপনার সাথে কথা বলে ভাল লাগলো কারন আপনিও এফিসিয়েন্সি পছন্দ করেন
রেগুলার নজর থাকবে আপনার ব্লগে......আর হ্যা, কোড না দিয়ে অ্যালগরিদমটা দিবেন তাহলে পি.এইচ.পি হোক আর মাতৃভাষা(সি/সি++) যেটাতেই কাজ করিনা কেন আমরা সবারই উপকার হবে, কি বলেন /??
লেখক বলেছেন: কোড ব্লক তুলে দিয়েছি যারা আসলে সি.এস.ই ব্যাকগ্রাউন্ড থেকে আসে নি তাদের জন্য। ইনশাল্লাহ Pseudo code/এ্যালগরিদম তুলে দেবে পরের লেখাগুলোতে ।
লেখক বলেছেন: কেমন আছেন? জানিনা প্রথম কিনা, কিন্তু হঠাৎ মনে হলো লিখে ফেললাম। 2d barcode নিয়া একটা পোস্ট লিখবো, ওটা নিয়া মনে হয় কেউ লিখে নাই
ধন্যবাদ।
একাকীত্ব বলেছেন:
একদম জটিল। ++
লেখক বলেছেন: ধন্যবাদ।
তামীম বলছি বলেছেন:
কাজের পোষ্ট। প্রিয়তে নিয়ে রাখলাম। পরে সময় নিয়ে পড়ে দেখব। ধন্যবাদ পোষ্টের জন্য।
সামহোয়্যার ইন...ব্লগ বাঁধ ভাঙার আওয়াজ, মাতৃভাষা বাংলায় একটি উন্মুক্ত ও স্বাধীন মত প্রকাশের সুবিধা প্রদানকারী প্ল্যাটফর্ম। এখানে প্রকাশিত লেখা, মন্তব্য, ছবি, অডিও, ভিডিও বা যাবতীয় কার্যকলাপের সম্পূর্ণ দায় শুধুমাত্র সংশ্লিষ্ট প্রকাশকারীর...


















তারপরও পোস্টের জন্য প্লাস