Heim > Backend-Entwicklung > PHP-Problem > So legen Sie Antwort-Header-Informationen in PHP fest

So legen Sie Antwort-Header-Informationen in PHP fest

王林
Freigeben: 2023-03-12 18:08:02
Original
4718 Leute haben es durchsucht

Die Methode für PHP zum Festlegen von Antwort-Header-Informationen besteht darin, die Funktion fsockopen() zum Festlegen zu verwenden, zum Beispiel [

So legen Sie Antwort-Header-Informationen in PHP fest

Die Betriebsumgebung dieses Artikels: Windows10-System, PHP7, Thinkpad T480-Computer.

In PHP, wenn nötig Legen Sie die Antwort-Header-Informationen des Anforderungsservers fest. Wir können fsockopen und die Curl-Komponente verwenden. Einige Freunde denken möglicherweise sofort an die Funktion header (), aber die Funktion header () kann nur zum Festlegen der Header-Informationen der Client-Antwort verwendet werden . Die Header-Informationen des Servers können nicht festgelegt werden.

1. Verwendung der Header-Funktion

    header('WWW-Authenticate: Negotiate');
    header('User-Agent:Mozilla/5.0);
Nach dem Login kopieren

Mehrere Header müssen direkt geschrieben werden und können nicht miteinander verbunden werden

2. Verwendung der fsockopen-Funktion

1, 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);
}
?>
Nach dem Login kopieren

2, php

print_r(getallheaders());
Nach dem Login kopieren
Nach dem Login kopieren

gibt die Header-Informationen Ihrer eigenen Einstellungsanfrage zurück

3. Verwendung der Curl-Komponente

1, 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);
?>
Nach dem Login kopieren

2, php

print_r(getallheaders());
Nach dem Login kopieren
Nach dem Login kopieren

wird Geben Sie die Header-Informationen Ihrer eigenen Einstellungsanfrage zurück


Empfohlenes Lernen:

php-Schulung

Das obige ist der detaillierte Inhalt vonSo legen Sie Antwort-Header-Informationen in PHP fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage