php如何修改http请求头
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php如何修改http请求头相关的知识,希望对你有一定的参考价值。
参考技术A <?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);
?> 参考技术B header()
PHP的header()
header()函数用于发送原生的HTTP头。header()前不能有输出!
1.关于头信息。
在HTTP协议中,HTTP消息为:客户端发送的request请求消息和服务器端发送的respose响应消息。
请求消息:HTTP头(请求行+请求头)+HTTP体(请求体); 响应消息:HTTP头(状态行+响应头)+HTTP体(响应体)
这HTTP头的头信息,不是HTML中的<head></head>部分,当然HTTP体的体内容也不是HTML中的<body></body>部分。
头信息包括很多东西:详细见:www.cnblogs.com/aliang1992/p/6049578.html。
2.常见的header()函数例子:
第一种:以“HTTP/”开头的,将会被用来计算出将要发送的HTTP状态码。
例如:在Apache服务器上用PHP脚本处理不存在文件的请求,就会希望脚本响应正确的状态码。
<?php header("HTTP/1.0 404 Not Found"); ?>
第二种:以“Location:”开头的,它不仅吧报文发送给浏览器,而且还将返回给浏览器一个状态码。
通俗点讲,就是自动跳转到 http://www.example.com/的URL地址。
<?php header("Location: http://www.example.com/"); exit; ?>
第三种: 以“Content-type:”开头的,告诉浏览器,服务器响应的对象类型。
例如:application/xml text/xml 等。决定浏览器讲义什么形式,什么编码读取这个文件。
第四种:以“Content-Disposition:”,指定内容附件。
服务器端想客户端浏览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt.jpg等,会直接在浏览器中显示,如果需要提示用户
保存,就要利用Content-Disposition进行处理。
<?php header("Content-Disposition","attachment;filename=xxx.txt"); ?<
以上是关于php如何修改http请求头的主要内容,如果未能解决你的问题,请参考以下文章