您好,登錄后才能下訂單哦!
這篇文章給大家介紹php如何設置響應頭信息,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
php設置響應頭信息的方法是:使用fsockopen()函數來設置,例如【<?php $fp = fsockopen("test.com", 80, $errno, $errstr, 30);if (!$fp) {echo "$e...】。
本文操作環境:windows10系統、php7、thinkpad t480電腦。
在PHP中如果我們需要設置請求服務器的響應頭信息可以使用fsockopen,curl組件。可能有的小伙伴會瞬間想到header()函數,但是header()函數只能用來設置客戶端響應的頭信息,它是不能設置服務器的頭信息的。我們舉個例子來說明下。
例如:
一、header函數的用法
header('WWW-Authenticate: Negotiate'); header('User-Agent:Mozilla/5.0);
多個直接要寫多個header,不可以連接在一起
二、fsockopen函數的用法
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); } ?>
2、php
print_r(getallheaders());
會返回自己設置請求的頭信息
三、curl組件的使用
1、php
<?php function FormatHeader($url, $myIp = null,$xml = null) { // 解悉url $temp = parse_url($url); $query = isset($temp['query']) ? $temp['query'] : ''; $path = isset($temp['path']) ? $temp['path'] : '/'; $header = array ( "POST {$path}?{$query} HTTP/1.1", "Host: {$temp['host']}", "Content-Type: text/xml; charset=utf-8", 'Accept: */*', "Referer: http://{$temp['host']}/", 'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)', "X-Forwarded-For: {$myIp}", "Content-length: 380", "Connection: Close" ); return $header; } $interface = 'http://test.com/2.php'; $header = FormatHeader($interface,'10.1.11.1'); $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); ?>
2、php
print_r(getallheaders());
會返回自己設置請求的頭信息
關于php如何設置響應頭信息就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。