Envoyer des données POST brutes via cURL en PHP
Dans certains cas d'utilisation, il est nécessaire d'effectuer une opération POST brute en utilisant cURL en PHP. Au lieu d'encoder, vous pouvez envoyer des données non traitées stockées dans une chaîne. Les données doivent respecter le format suivant :
<br>... en-tête HTTP habituel ...<br>Content-Length : 1039<br>Content-Type : text/plain</p> <p>89c5fdataasdhf kajshfd akjshfksa hfdkjsa falkjshfsa<br>ajshd fkjsahfd lkjsahflksahfdlkashfhsadkjfsalhfd<br>ajshdfhsafiahfiuwhflsf ce ne sont que des données provenant d'une chaîne<br>plus de données kjahfdhsakjfhsalkjfdhalksfd<br>
Solution :
Pour effectuer un POST brut sans écrire manuellement l'en-tête HTTP, vous pouvez utiliser les options cURL suivantes :
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://url/url/url"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_POST, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, "body goes here"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain')); $result = curl_exec($ch);
Ce code initialise une session cURL, définit l'URL cible, active la récupération des réponses, spécifie la méthode POST, fournit les données brutes sous forme de champs POST et définit l'en-tête Content-Type en conséquence. L'exécution de ce code enverra les données POST brutes sans aucun encodage.
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!