Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menetapkan maklumat pengepala respons dalam php

Bagaimana untuk menetapkan maklumat pengepala respons dalam php

王林
王林asal
2021-09-18 16:35:284700semak imbas

Kaedah untuk PHP menetapkan maklumat pengepala respons adalah dengan menggunakan fungsi fsockopen() untuk menetapkannya, contohnya [

Bagaimana untuk menetapkan maklumat pengepala respons dalam php

Persekitaran pengendalian artikel ini: sistem windows10, php7, komputer thinkpad t480

Dalam PHP, jika kita perlu menetapkan maklumat pengepala respons pelayan permintaan, kita boleh menggunakan komponen fsockopen dan curl. ), tetapi fungsi header() hanya boleh digunakan untuk menetapkannya Maklumat pengepala respons klien tidak boleh ditetapkan kepada maklumat pengepala pelayan Mari kita ambil contoh untuk menggambarkan:

1. Penggunaan fungsi pengepala.


Berbilang tajuk perlu ditulis secara langsung dan tidak boleh disambungkan bersama
    header('WWW-Authenticate: Negotiate');
    header('User-Agent:Mozilla/5.0);

2 Penggunaan fungsi fsockopen

php

2. php
<?php
$fp = fsockopen("test.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET /2.php HTTP/1.1\r\n";
    $out .= "Host: test.com\r\n";
    $out .= "name:longqiqi\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>


akan mengembalikan maklumat pengepala permintaan anda sendiri
print_r(getallheaders());

3 Penggunaan komponen curl

1


2. php
<?php
function FormatHeader($url, $myIp = null,$xml = null)
{
 // 解悉url
 $temp = parse_url($url);
 $query = isset($temp[&#39;query&#39;]) ? $temp[&#39;query&#39;] : &#39;&#39;;
 $path = isset($temp[&#39;path&#39;]) ? $temp[&#39;path&#39;] : &#39;/&#39;;
 
 $header = array (
 "POST {$path}?{$query} HTTP/1.1",
 "Host: {$temp[&#39;host&#39;]}",
 "Content-Type: text/xml; charset=utf-8",
 &#39;Accept: */*&#39;,
 "Referer: http://{$temp[&#39;host&#39;]}/",
 &#39;User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)&#39;,
 "X-Forwarded-For: {$myIp}",
 "Content-length: 380",
 "Connection: Close"
 );
 
 return $header;
}
 
$interface = &#39;http://test.com/2.php&#39;;
$header = FormatHeader($interface,&#39;10.1.11.1&#39;);
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $interface);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  //设置头信息的地方
curl_setopt($ch, CURLOPT_HEADER, 0);    //不取得返回头信息
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
 
var_dump($result);
?>


akan mengembalikan maklumat pengepala permintaan anda sendiri
print_r(getallheaders());


Pembelajaran yang disyorkan:

latihan php

Atas ialah kandungan terperinci Bagaimana untuk menetapkan maklumat pengepala respons dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn