PHP cURL প্রক্সি হেডার: CONNECT বনাম গন্তব্য প্রতিক্রিয়া
PHP cURL ট্রান্সফার প্রক্সি ব্যবহার করলে CONNECT, প্রমাণীকরণ, রিডাইরেক্ট এবং চূড়ান্ত প্রতিক্রিয়ার হেডার আলাদা রাখুন।
প্রতিক্রিয়ার মূল অংশ থেকে হেডার লাইন আলাদাভাবে সংগ্রহ করুন। প্রক্সির মধ্য দিয়ে যাওয়া ট্রান্সফার একই কার্যপ্রক্রিয়ায় CONNECT, প্রমাণীকরণ, রিডাইরেক্ট এবং গন্তব্যের প্রতিক্রিয়ার হেডার পাঠাতে পারে:
$headerLines = [];
curl_setopt($handle, CURLOPT_HEADERFUNCTION,
function ($handle, $line) use (&$headerLines) {
$headerLines[] = $line;
return strlen($line);
}
);
এই কলব্যাক কাঁচা লাইনের ক্রম ধরে রাখে এবং গৃহীত বাইটের সংখ্যা ফেরত দেয়। এটি সম্পূর্ণ লাইন পায়; তবে এখনও সেগুলোকে প্রতিক্রিয়ায় গোষ্ঠীভুক্ত করে না বা চূড়ান্ত ওয়েবসাইটের হেডার বাছাই করে না।
ক্রমটিকে ব্লক হিসেবে ব্যাখ্যা করুন
একটি HTTP স্ট্যাটাস লাইন প্রতিক্রিয়া ব্লক শুরু করে, আর খালি লাইন তার হেডার শেষ করে। চূড়ান্ত গন্তব্য প্রতিক্রিয়া বাছাই করার আগে সেই সীমাগুলো সংরক্ষণ করুন। মধ্যবর্তী প্রমাণীকরণের চেষ্টা এবং রিডাইরেক্ট প্রতিটি ব্লক যোগ করতে পারে।
ট্রেইলারগুলো পরে কলব্যাকের মাধ্যমে আসতে পারে। প্রতিটি পরবর্তী ফিল্ড প্রথম প্রতিক্রিয়ায় যুক্ত না করে প্রাথমিক হেডার থেকে সেগুলো আলাদা করার মতো যথেষ্ট পার্সার অবস্থা রাখুন।
টানেলের প্রমাণ রাখুন বা গোপন করুন
HTTPS টানেলের CONNECT স্ট্যাটাসের জন্য CURLINFO_HTTP_CONNECTCODE আলাদাভাবে পড়ুন। গৃহীত টানেল সফল ওয়েবসাইট প্রতিক্রিয়া প্রমাণ করে না।
সংগ্রাহকের জন্য CONNECT হেডার অপ্রয়োজনীয় হলে, CURLOPT_SUPPRESS_CONNECT_HEADERS কনফিগার করা হেডার আউটপুট এবং কলব্যাক পথে সেগুলোর সরবরাহ নিয়ন্ত্রণ করে। সংযুক্ত libcurl এবং PHP বিল্ডে সমর্থন পরীক্ষা করুন। গোপন করা সংগ্রহ সহজ করে, কিন্তু রোগনির্ণয়ে সহায়ক হেডার-স্তরের টানেল প্রমাণ সরিয়ে দেয়।
স্থির অফসেট বা HTML ট্যাগ খুঁজে মূল অংশ উদ্ধার করবেন না। হেডারের আকার ভিন্ন, মধ্যবর্তী প্রতিক্রিয়া ভিন্ন, এবং মূল অংশ বাইনারি বা খালি হতে পারে। পুরোনো সংস্করণ-নির্দিষ্ট বাগ রিপোর্ট অনুমানভিত্তিক অফসেটকে ন্যায্যতা দেয় না।
মূল অংশের পরিচালনা আলাদা রাখুন, এবং সংগ্রহ বা পার্সিং ব্যর্থ হলে পর্যবেক্ষিত প্রতিক্রিয়া পর্যায়ের সঙ্গে ট্রান্সফার ত্রুটি সংরক্ষণ করুন। এতে বিঘ্নিত কলব্যাক, বিকৃত অ্যাপ্লিকেশন ডেটা এবং প্রত্যাখ্যাত প্রক্সি বিনিময় আলাদা করা যায়।