Heim  >  Artikel  >  Backend-Entwicklung  >  So senden Sie benutzerdefinierte Daten in PHP über header_php-Tipps

So senden Sie benutzerdefinierte Daten in PHP über header_php-Tipps

jacklove
jackloveOriginal
2018-06-30 17:45:371746Durchsuche

Der unten stehende Herausgeber wird Ihnen eine Methode zum Senden benutzerdefinierter Daten über den Header in PHP vorstellen. Sie hat einen guten Referenzwert und ich hoffe, dass sie für alle hilfreich ist. Folgen wir dem Editor und werfen wir einen Blick darauf

In diesem Artikel erfahren Sie, wie Sie benutzerdefinierte Daten über Header senden. Wenn Sie eine Anfrage senden, können Sie nicht nur $_GET/$_POST zum Senden von Daten verwenden, sondern auch die Daten in den Header einfügen und übertragen.

Header senden:

Wir haben drei Parameter definiert: Token, Sprache, Region, Header einfügen und senden

<?php
$url = &#39;http://www.example.com&#39;;
$header = array(&#39;token:JxRaZezavm3HXM3d9pWnYiqqQC1SJbsU&#39;,&#39;language:zh&#39;,&#39;region:GZ&#39;);
$content = array(
    &#39;name&#39; => &#39;fdipzone&#39;
);
$response = tocurl($url, $header, $content);
$data = json_decode($response, true);
echo &#39;POST data:&#39;;
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($data[&#39;post&#39;]);
echo &#39;
'; echo 'Header data:'; echo '
&#39;;
print_r($data[&#39;header&#39;]);
echo &#39;
'; /** * 发送数据 * @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 empfangen

Wir können die Header-Daten in $_SERVER abrufen. Die benutzerdefinierten Daten verwenden HTTP_ als Präfix, sodass die Daten mit dem HTTP_-Präfix ausgelesen werden können.

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

Ausgabe:

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

Das obige PHP The Die Methode zum Senden benutzerdefinierter Daten über den Header ist der gesamte vom Herausgeber freigegebene Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe auch, dass jeder die chinesische PHP-Website unterstützt.

Artikel, die Sie interessieren könnten:

Erklärung zur Verwendung von ob_start() zum Löschen der Ausgabe und zur selektiven Ausgabe in PHP

Erklärung der von PHP implementierten MongoDB-Singleton-Modus-Operationsklasse

Erklärung der Methode zum Zusammenführen zweier sortierter verknüpfter Listen in PHP

Das obige ist der detaillierte Inhalt vonSo senden Sie benutzerdefinierte Daten in PHP über header_php-Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn