php 发送post请求且header中带参数bug调试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 发送post请求且header中带参数bug调试相关的知识,希望对你有一定的参考价值。
通常get方式header中带参数如下通过curl调用即可: function send_get_curl_header($url, $data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $data);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
注意$data格式为数组[‘AppToken: ‘.$token],而post发送时要注意postData要进行http_build_query才能成功代码如下:
function send_post_curl_header($url, $header_data , $post_data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_data);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
$sResult = curl_exec($ch);
if($sError=curl_error($ch)){
die($sError);
}
curl_close($ch);
return $sResult;
}
大家注意,此处花费了我一定的时间去调试。
以上是关于php 发送post请求且header中带参数bug调试的主要内容,如果未能解决你的问题,请参考以下文章
php curl如何直接转发当前php接收的headers?get请求如何直接转发get参数?post请求如何直接转发post参数?
PHP配置请求头允许跨域拦截OPTIONS请求接收POST请求参数