PHP发送数据到指定方法,php通过header发送自定义数据方法_php技巧
下面小编就为大家分享一篇php通过header发送自定义数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本文将介绍如何通过header发送自定义数据。发送请求时,除了可以使用$_GET/$_POST发送数据,也可以把数据放在header中传输过去。
发送header:
我们定义了三个参数,token、language、region,放入header发送过去
$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_前缀的数据读出。
$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发送自定义数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持Gxl网。
您可能感兴趣的文章:
php利用ob_start()清除输出和选择性输出的方法讲解
php实现的mongoDB单例模式操作类的相关讲解
PHP实现合并两个排序链表的方法讲解
PHP发送数据到指定方法,php通过header发送自定义数据方法_php技巧相关推荐
- R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息
R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...
- php中函数的使用方法,php中header()函数的使用方法
本文主要和大家分享php中header()函数的使用方法,主要以代码的方式和大家讲解,希望能帮助到大家.跳转页面 header('Location:'.$url); //Location和" ...
- R语言可视化散点图、气泡图、动态气泡图、数据点重合的散点图、数据点计数图、抖动数据点图、基于lm方法或者loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注
R语言可视化散点图.气泡图.动态气泡图.数据点重合的散点图.数据点计数图.抖动数据点图.基于
- R语言ggplot2可视化散点图、并使用geom_encircle函数自定义多边形圈定可视化图像中的指定区域、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线
R语言ggplot2可视化散点图.并使用geom_encircle函数自定义多边形圈定可视化图像中的指定区域(Scatterplot With Encircling).使用geom_smooth函数基 ...
- Python 数据存储读取,6千字搞定各种方法
作者 | 老表 来源 | 简说Python 一.前言 二.专栏概要 三.做准备:将爬取到的数据存入csv和mysql.其他数据库 3.1 前情回顾 3.1 数据存入+读取csv 3.2 数据存入+读取 ...
- influxdb 插入数据_Influx Sql系列教程五:insert 添加数据
接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有 ...
- Ajax--概述、xhr对象的常用属性和方法、xhr的常用事件、xhr对象发送POST请求、xhr对象发送GET请求、xhr对象的兼容性问题、数据交换格式(XML、JSON)
一.概述 1.1 发展历程 在开始之前先来看一下Ajax的工作原理吧,如下图所示: Ajax全称Asynchronous javascript and xml(异步 JavaScript 和 XML) ...
- R语言ggplot2可视化:使用geom_smooth函数基于lm方法为每个分组的部分数据(subset data)拟合趋势关系曲线、对指定范围的数据拟合曲线
R语言ggplot2可视化:使用geom_smooth函数基于lm方法为每个分组的部分数据(subset data)拟合趋势关系曲线.对指定范围的数据拟合曲线 目录
- C++|Java混合实验-java搭建post方法靶场,Qt发送请求获取数据
目录 背景 演示 Java web源码 Qt源码 背景 post方法使用的地方有多,比如各个Http的API,涉及上传文件等,都是要使用post上传,在此模拟下post的表单上传数据的方式. 演示 首 ...
最新文章
- Java基础语法(一)注释,关键字,常量,变量,数据类型,标识符,数据类型转换...
- 分子特征数据库R包msigdb
- 使用设置报头x-Frame-Options限制iframe网页嵌套
- Spring+Hibernate配置多数据源
- BZOJ 1562 变换序列
- 剑指offer之36-40题解
- 关于内存泄漏检测问题,和大家一起分享
- Unity2021.2.0版本汉化
- 前端实战:从零到一实现H5拼图小游戏(附源码)
- 高等数学关于切线,法线,切平面,法平面的详细解释
- BitSet源码解析,位运算玩的真六
- 思岚A1激光雷达的测试(windows)
- Problem Set 2 Hangman Game字谜游戏
- 美国优秀教师对中国家长的建议
- TCP建连过程详解/160805
- 数据结构与算法(python):树结构
- [学]PHP爬虫框架phpspider
- 公司估值(贴现现金流量法DCF)
- 短信接入DSMP的业务分类说明(转)
- JNI(一) JNI - NDK-交叉编译
热门文章
- android tag定义快捷键,Android Studio快捷键生成TAG、Log.x日志输出介绍
- C语言课程设计报告输出杨辉三角,C语言学习:在屏幕上输出杨辉三角
- C++一天一个程序(二)
- Codeforces 671C Ultimate Weirdness of an Array 线段树 (看题解)
- ubuntu如何安装samba
- typescript主键自增长
- sharesdk短信验证码的集成
- 【转】android:DDMS查看Threads--不错
- VLAN的Hybrid和Trunk端口有何区别
- XML-RPC协议学习