2019独角兽企业重金招聘Python工程师标准>>>

发送header:

我们定义了三个参数,token、language、region,放入header发送过去

<?php$url = 'http://www.example.com';$header = array('token:JxRaZezavm3HXM3d9pWnYiqqQC1SJbsU','language:zh','region:GZ');$content = array(        'name' => 'fdipzone');$response = tocurl($url, $header, $content);$data = json_decode($response, true);echo 'POST data:';echo '<pre>';
print_r($data['post']);echo '</pre>';echo 'Header data:';echo '<pre>';
print_r($data['header']);echo '</pre>';/*** 发送数据* @param String $url     请求的地址* @param Array  $header  自定义的header数据* @param Array  $content POST的数据* @return String*/function tocurl($url, $header, $content){$ch = curl_init();    if(substr($url,0,5)=='https'){curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在}curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HTTPHEADER, $header);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($content));    $response = curl_exec($ch);    if($error=curl_error($ch)){        die($error);}curl_close($ch);    return $response;
}?>123456789101112131415161718192021222324252627282930313233343536373839404142434445

接收header

我们可以在$_SERVER中获取header数据,自定义的数据都是使用HTTP_作为前缀的,所以可以把HTTP_前缀的数据读出。

<?php$post_data = $_POST;$header = get_all_headers();$ret = array();$ret['post'] = $post_data;$ret['header'] = $header;header('content-type:application/json;charset=utf8');echo json_encode($ret, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);/*** 获取自定义的header数据*/function get_all_headers(){// 忽略获取的header数据$ignore = array('host','accept','content-length','content-type');    $headers = array();    foreach($_SERVER as $key=>$value){        if(substr($key, 0, 5)==='HTTP_'){            $key = substr($key, 5);            $key = str_replace('_', ' ', $key);            $key = str_replace(' ', '-', $key);            $key = strtolower($key);            if(!in_array($key, $ignore)){                $headers[$key] = $value;}}}    return $headers;}?> 1234567891011121314151617181920212223242526272829303132333435363738

输出:

POST data:Array([name] => fdipzone
)
Header data:Array([token] => JxRaZezavm3HXM3d9pWnYiqqQC1SJbsU[language] => zh[region] => GZ
)

转载于:https://my.oschina.net/yonghan/blog/630798

php通过header发送自定义数据相关推荐

  1. PHP发送数据到指定方法,php通过header发送自定义数据方法_php技巧

    下面小编就为大家分享一篇php通过header发送自定义数据方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 本文将介绍如何通过header发送自定义数据.发送请求时,除了可以使用 ...

  2. php自定义请求headers,php通过header发送自定义数据方法

    本文将介绍如何通过header发送自定义数据.发送请求时,除了可以使用$_GET/$_POST发送数据,也可以把数据放在header中传输过去. 发送header: 我们定义了三个参数,token.l ...

  3. php {template header},php通过header发送自定义数据

    发送header: 我们定义了三个参数,token.language.region,放入header发送过去 <?php $url = 'http://www.example.com';$hea ...

  4. java/kafka的使用,生产者 ,发布/发送消息,自定义数据/json数据,实战。

    kafka(卡夫卡生产者)的使用. 发送JSON数据请查看:kafka发送JSON消息,接受JSON消息 一,创建生产者 MyProducer.java . package com.kuxingsen ...

  5. 用c#实现通讯中自定义发送序列化数据,可一定程度上实现可编程发送的功能

    C#实现串口发送序列化数据 如下图: 其中红色框内展现的为实现效果图,其中最前面的文本框是要发送的具体字节,可以手动修改,后面的按钮为单击可控制单次发送,同时双机要发送的文本框可修改按钮的标题,用于做 ...

  6. 使用c#实现tcp的连接和发送接收数据

    最近有个小项目,需要调用装置的录波数据,使用tcp模式,在这里整理了下如何使用c#实现tcp连接并实现发送接收数据,分享出来. 我这里使用的tcpclient ,终端是tcpserver模式. 首先自 ...

  7. pythonrequests发送数据_在python中使用requests 模拟浏览器发送请求数据的方法

    在python中使用requests 模拟浏览器发送请求数据的方法 如下所示: import requests url='http://####' proxy={'http':'http://#### ...

  8. 【Android RTMP】RTMPDump 推流过程 ( 独立线程推流 | 创建推流器 | 初始化操作 | 设置推流地址 | 启用写出 | 连接 RTMP 服务器 | 发送 RTMP 数据包 )

    文章目录 安卓直播推流专栏博客总结 一. Java 层传入的 RTMP 推流地址处理 二. RTMPDump 推流线程 三. 创建 RTMP 对象 四. 初始化 RTMP 对象 五. 设置 RTMP ...

  9. android: 发送自定义广播

    5.3.1    发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发.因此新建一个 MyBroadcastReceiver 继承自 Broadca ...

  10. Android 第二十课 广播机制(大喇叭)----发送自定义广播(包括发送标准广播和发送有序广播)

    广播分为两种类型:标准广播和有序广播 我们来看一下具体这两者的具体区别: 1.发送标准广播 我们需要先定义一个广播接收器来准备接收此广播才行,否则也是白发. 新建一个MyBroadcastReceiv ...

最新文章

  1. c#_StringBuilder的用法总结
  2. 小卡片遇热就变机器人,不插电就能运动,哈佛加州理工新研究登上Nature子刊...
  3. 如何成长为一名优秀的Web开发人员
  4. 万维钢_《高手——精英的见识和我们的时代》读书笔记_1
  5. JVM堆老年代分配比例
  6. 订单峰值激增 230%,Serverless 如何为世纪联华降本超 40%?|双11 云原生实践
  7. 《Python Cookbook 3rd》笔记(5.5):文件不存在才能写入
  8. 计算机视觉中的牛人贡献及其主页
  9. 计算机网络与传统的通信网络的最大区别,3G,4G技术3G与传统通信技术的主要区别?主要特色?另对4G稍 爱问知识人...
  10. 产品经理 - 汽车维修连锁企业 - 发展预测
  11. 九、模型文档编辑器(生成项目文档)
  12. Linux不能识别usbasp,USBasp制作资料及全过程(菜鸟版)
  13. 聊一聊刚上线就被以太坊“弃子”的BZZ
  14. 从互联网大厂跳槽到国企后,我发现没有一劳永逸的工作。。。
  15. TCSVT2021:一种结合全局和局部细粒度特征的行人再识别方法
  16. api 3.0 个性化地图缩放时出现白色的底图,然而 api GL缩放时显示正常,调用api 3.0 接口时,如何避免地图缩放时出现白色底图
  17. 数据结构PTA 基础实验7-2.1 魔法优惠券
  18. MyBatis-Plus 扩展篇 > 自动填充功能
  19. java创建不定长数组_java如何创建不定长的数组?
  20. 丢失LDF文件怎么办?

热门文章

  1. 【转】TCP状态变迁图
  2. 关于asp.net导出Excel [zz]
  3. linux离线安装docker + docker-compose
  4. VMware虚拟机更换根用户( su: Authentication failure问题)
  5. 关于点击button按钮自动刷新页面导致ajax来不及执行的原因
  6. 敲一下enter键,完成iOS的打包工作
  7. 传输层的几个部分的ALCAP、SSCOP、MTP3-B、SCCP、SAAL、SCCF、STC、IP、UDP、GTPU
  8. 程序员算法之找出链表的第K个结点
  9. 78. 子集-LeetCode
  10. python 基本数据类型及其功能-2-字符串 重点命令