php设置http请求头信息和响应头信息

设置请求服务器的头信息可以用fsockopen,curl组件,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

php设置http请求头信息和响应头信息的更多相关文章

  1. 接口测试——HttpClient工具的https请求、代理设置、请求头设置、获取状态码和响应头

    目录 https请求 代理设置 请求头设置 获取状态码 接收响应头 https请求 https协议(Secure Hypertext Transfer Protocol) : 安全超文本传输协议, H ...

  2. HTTP协议请求头信息和响应头信息

    阅读目录 http的请求部分 常用请头信息 常用响应头信息 http的请求部分 基本结构 请求行 GET  /test/hello.html HTTP/1.1 消息头(并不是每一次请求都一样) 空行 ...

  3. JAVA Serverlet 请求头信息和响应头信息

    <1>获取请求头信息 //获取请求头信息的全部名称 Enumeration<String> header = request.getHeaderNames(); while(h ...

  4. 【转载】curl 模拟 GET\POST 请求,curl查看响应头 以及 curl post 上传文件

    补充说明:curl查看响应头 curl -I "http://www.baidu.com"HTTP/1.1 200 OK #HTTP协议 HTTP 返回码Server: Tengi ...

  5. HTTP详解教程 / HTTP 响应头信息 HTTP 响应头信息

    HTTP请求头提供了关于请求,响应或者其他的发送实体的信息. 在本章节中我们将具体来介绍HTTP响应头信息.直线电机哪家好 应答头 说明 Allow 服务器支持哪些请求方法(如GET.POST等). ...

  6. HTTP消息头(HTTP headers)-HTTP请求头与HTTP响应头

    感谢大佬:https://itbilu.com/other/relate/E1T0q4EIe.html HTTP协议将传输的信息分隔为两部分:HTTP信息头.HTTP信息体.通过HTTP头信息,使客户 ...

  7. ASP.NET MVC 项目设置,移除多余的响应头,woff,woff2 字体文件请求处理

    移除 X-AspNetMvc-Version 在 Global.asax 的 Application_Start添加代码 MvcHandler.DisableMvcResponseHeader = t ...

  8. http请求头响应头大全

    转:http://www.jb51.net/article/51951.htm 本文为多篇“HTTP请求头相关文章”及<HTTP权威指南>一书的阅读后个人汇总整理版,以便于理解. 通常HT ...

  9. HTTP协议扫盲(二)HTTP协议的请求方法、请求头和响应头

    一.HTTP请求方法 Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST ...

随机推荐

  1. Spring Security Architecture--官方

    原文地址:https://spring.io/guides/topicals/spring-security-architecture/ Table of contents Authenticatio ...

  2. 在Windows下如何创建指定的虚拟环境

    前几天给大家分享了如何在默认的情况下创建虚拟环境,没来得及上车的伙伴,可以戳这篇文章:在Windows下如何创建虚拟环境(默认情况下).今天小编给大家分享一下,如何创建的指定的Python环境. 创建 ...

  3. Felx之HTTPService

    获取并显示数据 为了向我们的程序提供数据,Adobe Flex包含特别为与HTTP服务器,网络服务或者是远程对象服务(Java对象)进行交互的而设计的组件.这些组件被称之为远程过程调用(RPC)服务组 ...

  4. Yeslab华为安全HCIE七门之--防火墙高级技术(17篇)

    Yeslab 全套华为安全HCIE七门之第三门 防火墙高级技术     课程目录: 华为安全HCIE-第三门-防火墙高级技术(17篇)\1_用户认证_用户_认证域_认证策略.avi 华为安全HCIE- ...

  5. PHP如何去掉多维数组的重复值

    1.定义函数 function array_unique_new($arr){ $t = array_map('serialize', $arr);//利用serialize()方法将数组转换为以字符 ...

  6. cogs 26. 分组

    26. 分组 ★   输入文件:dataa.in   输出文件:dataa.out   简单对比时间限制:1 s   内存限制:128 MB[问题描述] 现有 n 个学生, 要分成X1 ,X2 ,.. ...

  7. HTTP请求和响应1:概述

    HTTP的报文分为请求报文和响应报文,打开一个web页面后,浏览器将发起一个HTTP请求报文.HTTPserver收到请求后将回送一个响应报文. 报文的基本结构 HTTP的请求和响应报文都由三个部分组 ...

  8. 负载均衡(LB)具体解释

    二.LB LoadBalance就是把负载均衡分配到集群的各个节点,从而提高总体的吞吐能力.Oracle 10g RAC提供了两种手段来实现负载,其一是通过Connection Balancing.依 ...

  9. java 链接server上的 mongodb 出现 connect time out 问题

    异常信息 十二月 22, 2014 5:27:58 下午 com.mongodb.DBTCPConnector initDirectConnection 警告: Exception executing ...

  10. android 图片特效处理之 光晕效果

    这篇将讲到图片特效处理的图片光晕效果.跟前面一样是对像素点进行处理,本篇实现的思路可参见android图像处理系列之九--图片特效处理之二-模糊效果和android图像处理系列之十三--图片特效处理之 ...