PHP cURL ছাড়া সাধারণ HTTP অনুরোধের জন্য, HTTP স্ট্রিম র্যাপারে একটি প্রক্সি কনটেক্সট পাঠান:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://203.0.113.10:8080',
        'request_fulluri' => true,
        'timeout' => 10,
    ],
]);
$body = file_get_contents('http://example.com/', false, $context);

ডকুমেন্টেশন এন্ডপয়েন্টটি আপনার HTTP প্রক্সি বা HTTP প্রক্সি তালিকা থেকে একটি প্রার্থী দিয়ে প্রতিস্থাপন করুন। HTTP কনটেক্সট ইন্টারফেস proxy এর জন্য একটি TCP ঠিকানা আশা করে। request_fulluri=true সম্পূর্ণ গন্তব্য URI অনুরোধ লাইনে রাখে, যেমনটি অনেক ফরওয়ার্ড প্রক্সি দাবি করে। টাইমআউট সেই র্যাপারের নিয়মের অধীনে স্ট্রিম অপারেশনকে সীমাবদ্ধ করে।

বডি পার্স করার আগে ফেরত দেওয়া মান এবং সতর্কতা পরীক্ষা করুন; ব্যর্থ পাঠ এবং সফল খালি প্রতিক্রিয়ার জন্য ভিন্ন পরিচালনা প্রয়োজন। এই একটি HTTP গন্তব্য এবং সীমিত অনুরোধ দিয়ে রোগনির্ণয় শুরু করুন। HTTPS টানেলিং এবং TLS আচরণ যোগ করে যা প্রকৃত র্যাপার/PHP সংস্করণের জন্য পরীক্ষা করতে হবে; এই উদাহরণ সেই সক্ষমতাগুলো প্রতিষ্ঠা করে না।

এই কলে কনটেক্সট পাঠানো রুটটি দৃশ্যমান রাখে এবং সম্পর্কহীন URL পাঠ পরিবর্তন করা এড়ায়। একটি ভাগ করা ডিফল্ট কনটেক্সট কেবল তখনই উপযুক্ত যখন অ্যাপ্লিকেশন সচেতনভাবে সেই নীতি চায়; লাইব্রেরিগুলোকে এর বিস্তৃত পরিধি বিবেচনা করা উচিত।

এটি PHP স্ট্রিম কনফিগার করে, স্বতন্ত্রভাবে তৈরি cURL হ্যান্ডেল নয়, ব্রাউজার বা অন্য প্রক্রিয়া নয়। একটি প্যাকেজ এই কনটেক্সট ব্যবহার করবে বলে আশা করার আগে তার প্রকৃত HTTP পরিবহন শনাক্ত করুন।

সম্পর্কিত নিবন্ধ