ভূমিকা
https:// এবং https:// ট্রান্সপোর্টের জন্য কনটেক্সট অপশনসের লিস্ট নিচে দেওয়া হলো—
| method | রিমোট সার্ভার দ্বারা সাপোর্টেড HTTP মেথড। ডিফল্ট GET। |
| header | রিকোয়েস্টের সময় পাঠানো অডিশনাল হেডার। |
| user_agent | User-Agent: হেডারের সাথে পাঠানো মান। ডিফল্টভাবে php.ini-এ user_agent সেটিং ব্যবহার হয়। |
| content | হেডারهای পাঠানোর পর পাঠানো অডিশনাল ডেটা। সাধারণত POST বা PUT রিকোয়েস্টের সাথে ব্যবহার হয়। |
| proxy | প্রক্সি সার্ভারের অ্যাড্রেস স্পেসিফাইকারী URI। |
| request_fulluri boolean | TRUE সেট করলে সম্পূর্ণ URI ব্যবহার হবে রিকোয়েস্ট কনস্ট্রাক্ট করার সময়। ডিফল্ট FALSE। |
| follow_location | Location হেডার রিডাইরেক্ট ফলো করুন। ০ সেট করলে ডিজেবল। ডিফল্ট ১। |
| max_redirects | ফলো করার maksimum রিডাইরেক্ট সংখ্যা। |
| protocol_version | HTTP প্রোটোকল ভার্সন। ডিফল্ট 1.0। |
| timeout | রিড টাইমআউট সেকেন্ডে, ফ্লোট দিয়ে স্পেসিফাই (যেমন 10.5)। |
| ignore_errors | ফেইলার স্ট্যাটাস কোডেও কন্টেন্ট ফেচ করুন। ডিফল্ট FALSE। |
নিচের উদাহরণ https:// URL থেকে হেডার এবং কন্টেন্ট ফেচ করে—
উদাহরণ
<?php $url = "https://localhost/testscript.php"; $opts = array('http' => array( 'method' => 'GET', 'max_redirects' => '0', 'ignore_errors' => '1' )); $context = stream_context_create($opts); $stream = fopen($url, 'r', false, $context); var_dump(stream_get_meta_data($stream)); ?>আউটপুট
এটি হেডার ইনফো এবং মেটাডেটা নিচের মতো দেখাবে—
array(10) { ["timed_out"]=> bool(false) ["blocked"]=> bool(true) ["eof"]=> bool(false) ["wrapper_data"]=> array(7) { [0]=> string(15) "HTTP/1.1 200 OK" [1]=> string(35) "Date: Thu, 17 Sep 2020 07:04:47 GMT" [2]=> string(55) "Server: Apache/2.4.41 (Win64) OpenSSL/1.0.2s PHP/7.1.32" [3]=> string(24) "X-Powered-By: PHP/7.1.32" [4]=> string(17) "Content-Length: 0" [5]=> string(17) "Connection: close" [6]=> string(38) "Content-Type: text/html; charset=UTF-8" } ["wrapper_type"]=> string(4) "http" ["stream_type"]=> string(14) "tcp_socket/ssl" ["mode"]=> string(1) "r" ["unread_bytes"]=> int(0) ["seekable"]=> bool(false) ["uri"]=> string(31) "https://localhost/testscript.php" }