Heim > Backend-Entwicklung > PHP-Tutorial > PHP sendet eine benutzerdefinierte Datenmethode über den Header

PHP sendet eine benutzerdefinierte Datenmethode über den Header

韦小宝
Freigeben: 2023-03-19 15:08:01
Original
2547 Leute haben es durchsucht

Der unten stehende Herausgeber stellt Ihnen eine Methode zum Senden benutzerdefinierter Daten über Header in PHP vor. Sie bietet eine gute Referenz und ist für das Erlernen von PHP hilfreich. Wenn Sie sich für PHP interessieren, folgen Sie bitte dem Editor und werfen Sie einen Blick darauf.

In diesem Artikel wird erläutert, 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 rüberschicken

<?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; } ?>
Nach dem Login kopieren

Header empfangen

wir können Rufen Sie die Header-Daten in $_SERVER ab. Benutzerdefinierte 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;
}
?>
Nach dem Login kopieren

Ausgabe:

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

Die obige PHP-Methode zum Senden benutzerdefinierter Daten über den Header ist der gesamte vom Editor freigegebene Inhalt, den ich hoffentlich geben kann Jeder eine Referenz! !

Verwandte Empfehlungen:

PHP-Implementierung, die Wasserzeichen hinzufügen und Miniaturansicht-Verarbeitungstools generieren kann

PHP-Implementierung im Detail Erläuterung der Eintrittsknoteninstanz des Rings in der verknüpften Liste

Detaillierte Erläuterung der PHP-Serialisierungs- und Deserialisierungsprinzipien

Das obige ist der detaillierte Inhalt vonPHP sendet eine benutzerdefinierte Datenmethode über den Header. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage