Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ตัวเลือกบริบท PHP HTTP


แนะนำตัว

ด้านล่างนี้คือรายการตัวเลือกบริบทสำหรับ https:// และ https:// ขนส่ง

วิธีการ วิธี HTTP รองรับโดยเซิร์ฟเวอร์ระยะไกล ค่าเริ่มต้นเป็น GET
ส่วนหัว ส่วนหัวเพิ่มเติมที่จะส่งในระหว่างการขอ
user_agent ค่าที่จะส่งด้วย User-Agent:header. โดยค่าเริ่มต้น การตั้งค่า user_agent php.ini จะถูกใช้
เนื้อหา ข้อมูลเพิ่มเติมที่จะส่งหลังจากส่วนหัว มักใช้กับคำขอ POST หรือ PUT
พร็อกซี่ URI ระบุที่อยู่ของพร็อกซีเซิร์ฟเวอร์
request_fulluri บูลีน เมื่อตั้งค่าเป็น TRUE ระบบจะใช้ URI ทั้งหมดในการสร้างคำขอ ค่าเริ่มต้นเป็น FALSE
follow_location ติดตามการเปลี่ยนเส้นทางส่วนหัวของตำแหน่ง ตั้งค่าเป็น 0 เพื่อปิดการใช้งาน ค่าเริ่มต้นคือ 1
max_redirects จำนวนการเปลี่ยนเส้นทางสูงสุดที่จะติดตาม
protocol_version เวอร์ชันโปรโตคอล HTTP ค่าเริ่มต้นคือ 1.0
หมดเวลา ระยะหมดเวลาของการอ่านเป็นวินาที ระบุโดย float (เช่น 10.5)
ละเว้น_ข้อผิดพลาด ดึงเนื้อหาแม้ในรหัสสถานะความล้มเหลว ค่าเริ่มต้นเป็น 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"
}