本文将介绍如何通过header发送自定义数据。发送请求时,除了可以使用$_GET/$_POST发送数据,也可以把数据放在header中传输过去。

发送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 "

";print_r($data["post"]);echo "

";echo "Header data:";echo "

";print_r($data["header"]);echo "

";/** * 发送数据 * @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;}?>

接收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;}?>

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

以上这篇php通过header发送自定义数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持网页设计。

php自定义请求headers,php通过header发送自定义数据方法相关推荐

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

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

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

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

  3. [ActionScript 3.0] AS向php发送二进制数据方法之——在URLRequest中构造HTTP协议发送数据...

    主类 HTTPSendPHP.as 1 package 2 { 3 import com.JPEGEncoder.JPGEncoder; 4 import com.fylib.httpRequest. ...

  4. 前端cookie 放到请求头_ajax请求携带cookie和自定义请求头header(跨域和同域)

    错误: 1.ajax请求时是不会自动带上cookie的,要是想让他带上的话,必须设置withCredential为true. 正确: 1.ajax同域请求下,ajax会自动带上同源的cookie: 2 ...

  5. .ajax 自定义headers,Ajax设置自定义请求头的两种方法

    示例用自定义请求头token为例 方法一 $.ajax({ type: "post", url:"http://127.0.0.1:4564/bsky-app/templ ...

  6. Angular Img标签自定义请求header Authorization

    Angular Img标签自定义请求header Authorization 背景 是这样的需求,有一个web页面,里面图片的上传和预览来自于一个独立的文件服务器,对http的请求需要进行访问权限的设 ...

  7. 拦截器获取请求参数post_「SpringBoot WEB 系列」RestTemplate 之自定义请求头

    [WEB 系列]RestTemplate 之自定义请求头 上一篇介绍了 RestTemplate 的基本使用姿势,在文末提出了一些扩展的高级使用姿势,本篇将主要集中在如何携带自定义的请求头,如设置 U ...

  8. Ajax设置自定义请求头的两种方法

    用自定义请求头token为例 方法一 $.ajax({type: "post",url:"http://127.0.0.1:4564/bsky-app/template/ ...

  9. curl发送post请求带Json参数、发送get请求

    文章目录 curl发送post请求带Json参数 curl发送get请求带参数 curl 参数 curl发送post请求带Json参数 1:linux下执行curl命令发送post请求 curl -X ...

最新文章

  1. 皮一皮:这是为什么呢???
  2. Java高并发编程(三):Java内存模型
  3. [Docker] Centos7 安装docker-18.03.1-ce(离线安装)
  4. efcore 批量_EFcore使用EFCore.BulkExtensions 批量增加、删除、修改
  5. PLSQL Developer 特点
  6. JSP中“预定义变量”的使用
  7. java爬取html过快,需要输入验证码
  8. paip.log4j 日志系统 参数以及最佳实践
  9. mysql--学生表
  10. codeforce 417D Cunning Gena (状压DP)
  11. js实现微信表情回显
  12. 手机注册服务器异常是什么问题,ohho注册不了网络异常
  13. 计算机系统操作高级工考试题,计算机系统操作高级工试题和答案.doc
  14. 04、【电脑维修】Win 10重新安装微软商店以及便筏打不开问题
  15. Findbugs修改总结
  16. [ 生活 ] 我有一个想法!
  17. cad批量打印快捷键_原来CAD还能这么打印?批量打印了解一下?1分钟打印100张...
  18. 三种主流无线同屏技术介绍(Miracast、DLNA与AirPlay技术)
  19. CTU Open Contest 2019 计蒜客重现补题报告
  20. 财会计算机基础知识,会计的基础知识大全

热门文章

  1. [PyTorch] 深度学习框架PyTorch中的概念和函数
  2. prometheus-operator架构部署( prometheus-server, pushgateway, grafana, alertmanater,servicemonitor...)
  3. matlab2c使用c++实现matlab函数系列教程-max函数
  4. matlab2c使用c++实现matlab函数系列教程-sort函数
  5. jpg/png格式图片转eps格式
  6. P1251 餐巾计划问题 费用流
  7. angularJS使用编写KindEditor,UEidtor,jQuery指令,双重绑定
  8. 关于python+django操作数据库中的表
  9. struts2源码分析-初始化流程
  10. 处理百万级以上的数据处理