Ausführliche Erklärung zum Senden benutzerdefinierter Daten durch PHP über den Header

小云云
Freigeben: 2023-03-19 15:14:01
Original
1834 Leute haben es durchsucht

Dieser Artikel stellt Ihnen hauptsächlich eine Methode zum Senden benutzerdefinierter Daten über den Header in PHP vor. Er hat einen guten Referenzwert und ich hoffe, dass er für alle hilfreich sein wird. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

Header senden:

Wir haben drei Parameter definiert: Token, Sprache, Region, fügen sie in den Header ein und senden sie über

<?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; => 'fdipzone'
);
$response = tocurl($url, $header, $content);
$data = json_decode($response, true);
echo 'POST data:';
echo '<pre class="brush:php;toolbar:false">';
print_r($data['post']);
echo '
'; echo 'Header data:'; echo '
';
print_r($data['header']);
echo '
'; /**  * 发送数据  * @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 die Header-Daten in $_SERVER abrufen. 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)==='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;
}
?>
Nach dem Login kopieren

Ausgabe:

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

Verwandte Empfehlungen:

10 empfohlene Artikel über benutzerdefinierte Datenattribute

HTML5-tatsächlicher Kampf und Analyse benutzerdefinierter Datenattribute (Datensatz)

PHP sendet benutzerdefinierte Daten über den Header

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Senden benutzerdefinierter Daten durch PHP ü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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!