Maison > développement back-end > tutoriel php > Comment faire en sorte que PHP envoie des données personnalisées via l'en-tête

Comment faire en sorte que PHP envoie des données personnalisées via l'en-tête

jacklove
Libérer: 2023-03-31 07:24:02
original
1808 Les gens l'ont consulté

Cet article explique comment envoyer des données personnalisées via des en-têtes. Lors de l'envoi d'une requête, en plus d'utiliser $_GET/$_POST pour envoyer des données, vous pouvez également mettre les données dans l'en-tête et les transmettre.

Envoyer l'en-tête :

Nous avons défini trois paramètres, jeton, langue, région, mettez-les dans l'en-tête et envoyer Dans le passé

<?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; }?>
Copier après la connexion

en-tête reçu

nous pouvons obtenir des données d'en-tête, des données personnalisées dans $_SERVER Ils utilisent tous HTTP_ comme préfixe, afin que les données avec le préfixe HTTP_ puissent être lues.

<?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;
}?>
Copier après la connexion

Sortie :

POST data:Array(
    [name] => fdipzone
)
Header data:Array(
    [token] => JxRaZezavm3HXM3d9pWnYiqqQC1SJbsU
    [language] => zh
    [region] => GZ
)
Copier après la connexion

Cet article explique comment laisser PHP envoyer des données personnalisées via l'en-tête, plus pour contenu associé, veuillez faire attention au site Web chinois php.

Recommandations associées :

Comment utiliser inet_aton et inet_ntoa pour traiter les données d'adresse IP via MySQL

données php json en utilisant gzip Contenu associé de la sortie compressée

Comment utiliser http_build_query, parse_url, parse_str pour créer et analyser une URL via php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal