国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php通過header發送自定義數據方法

2024-05-05 00:01:59
字體:
來源:轉載
供稿:網友

本文將介紹如何通過header發送自定義數據。發送請求時,除了可以使用$_GET/$_POST發送數據,也可以把數據放在header中傳輸過去。

發送header:

我們定義了三個參數,tokenlanguageregion,放入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;}?>

接收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發送自定義數據方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 绥芬河市| 穆棱市| 南阳市| 灵武市| 林口县| 中宁县| 三明市| 南昌县| 新竹市| 陈巴尔虎旗| 赤水市| 类乌齐县| 贵定县| 忻城县| 鄂托克前旗| 繁昌县| 宁明县| 漳浦县| 南溪县| 洪湖市| 丰镇市| 五寨县| 新兴县| 莆田市| 张北县| 自贡市| 夏邑县| 廊坊市| 寿阳县| 奇台县| 兴国县| 马公市| 虎林市| 霞浦县| 永靖县| 东辽县| 繁昌县| 新建县| 浦江县| 寿宁县| 阿瓦提县|