• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php通过header发送自定义数据

php 搞代码 3年前 (2022-01-23) 28次浏览 已收录 0个评论

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

发送header:

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

<code><span><span><?php</span><span>$url</span> = <span>'http://www.example.com'</span>;<span>$header</span> = <span>array</span>(<span>'token:JxRaZezavm3HXM3d9pWnYiqqQC1SJbsU'</span>,<span>'language:zh'</span>,<span>'region:GZ'</span>);<span>$content</span> = <span>array</span>(        <span>'name'</span> => <span>'fdipzone'</span>);<span>$response</span> = tocurl(<span>$url</span>, <span>$header</span>, <span>$content</span>);<span>$data</span> = json_decode(<span>$response</span>, <span>true</span>);<span>echo</span><span>'POST data:'</span>;<span>echo</span><span>'<pre class="prettyprint linenums">'</span>;print_r(<span>$data</span>[<span>'post'</span>]);<span>echo</span><span>'

‘;echo‘Header data:’;echo

'</span>;print_r(<span>$data</span>[<span>'header'</span>]);<span>echo</span><span>'

‘;/** * 发送数据 * @param String $url 请求的地址 * @param Array $header 自定义的header数据 * @param Array $content POST的数据 * @return String */functiontocurl($url, $header, $来&源gao@dai!ma.com搞$代^码%网搞gaodaima代码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_前缀的数据读出。

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

输出:

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

‘).addClass(‘pre-numbering’).hide(); $(this).addClass(‘has-numbering’).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('

  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    以上就介绍了php通过header发送自定义数据,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:php通过header发送自定义数据

    喜欢 (0)
    [搞代码]
    分享 (0)
  • 发表我的评论
    取消评论

    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址