本文实例讲述了PHP设置头信息及取得返回头信息的方法。分享给大家供大家参考,具体如下:
设置请求的头信息,我们可以用header函数,可以用fsockopen,可以用curl等,本文主要讲的是用curl来设置头信息,并取得返回后的头信息。
一、请求方设置自己的头信息,header.PHP
PHP;">
二、被请求方,取得头信息,header2.PHP
PHP;">
三、看一下header.PHP请求的结果
localhost
[CONTENT_TYPE] => text/xml; charset=utf-8
[HTTP_ACCEPT] => */*
[HTTP_REFERER] => http://localhost/
[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)
[HTTP_X_FORWARDED_FOR] => 10.1.11.1
[CONTENT_LENGTH] => 380
[PATH] => /usr/local/bin:/usr/bin:/bin
[SERVER_SIGNATURE] => Apache/2.2.16 (Ubuntu) Server at localhost Port 80
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
)
上面那几个,我们可以明显看到,是我设置的头信息。
四、取得返回的头信息
代码如下:
我们把CURLOPT_HEADER设置成1,在取得的结果当中,显示数组的前面会有这些信息
localhost
[CONTENT_TYPE] => text/xml; charset=utf-8
[HTTP_ACCEPT] => */*
五、$_SERVER部分头信息是拿不到的
PHP;">
PHP
function FormatHeader($url,"Content-length: " . strlen($xml) ."\r\n\r\n" .$xml,//修改1
"Connection: Close"
);
return $header;
}
$xml = ' //修改2
adsfadsf
asdfasdf
asdf
asdf
asdfasd
asdfasdf
asdfadsf
asdfasdf
asdfasdf
';
$interface = 'http://localhost/test/header2.php';
$header = FormatHeader($interface,'10.1.11.1',$xml); //修改3
$ch = curl_init();
curl_setopt($ch,true);
$result = curl_exec($ch);
var_dump($result);
?>
如果这样的话,header2.php里面,打印$_SERVER不可能把头信息中的xml打印出来。这个时候,我们在header2.php后面加上以下二行
这样就可以取到$xml的内容,并且只会取$xml的内容。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。