155 votes

RAW POST à l'aide de cURL en PHP

Comment puis-je faire un RAW POST en PHP à l'aide de cURL?

Raw post en étant sans aucun codage, et que mes données sont stockées dans une chaîne de caractères. Les données doivent être formatées comme ceci:

... usual HTTP header ...
Content-Length: 1039
Content-Type: text/plain

89c5fdataasdhf kajshfd akjshfksa hfdkjsa falkjshfsa
ajshd fkjsahfd lkjsahflksahfdlkashfhsadkjfsalhfd
ajshdfhsafiahfiuwhflsf this is just data from a string
more data kjahfdhsakjfhsalkjfdhalksfd

Une option est de les écrire manuellement la totalité de l'en-tête HTTP d'être envoyé, mais qui semble de moins en moins optimale.

De toute façon, je ne peux tout simplement passer des options à curl_setopt() que de dire l'utilisation d'afficher, d'utiliser text/plain, et envoyer les données brutes à partir d'un $variable?

283voto

The Unknown Points 3917

Je viens de trouver la solution, sorte de répondre à ma propre question au cas où quelqu'un d'autre tombe sur elle.

$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);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X