Bagaimana untuk menetapkan maklumat pengepala respons dalam php

王林
Lepaskan: 2023-03-12 18:08:02
asal
4688 orang telah melayarinya

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);
Salin selepas log masuk

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);
}
?>
Salin selepas log masuk


akan mengembalikan maklumat pengepala permintaan anda sendiri
print_r(getallheaders());
Salin selepas log masuk
Salin selepas log masuk

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);
?>
Salin selepas log masuk


akan mengembalikan maklumat pengepala permintaan anda sendiri
print_r(getallheaders());
Salin selepas log masuk
Salin selepas log masuk


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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan