2010-09-24 4 views
1

J'ai un service web ... disons example.com. Je dois faire un HTTP POST pour appeler ce service web en PHP et envoyer des données à ce service web. Les données que je publie proviennent d'un formulaire et sont donc disponibles en variables. J'ai lu que c'était peut-être un moyen de le faire, mais je n'en suis pas sûr, donc des indications dans la bonne direction seraient appréciées.HTTP POST vers un service REST via PHP

$service_url = 'http://example.com/rest/user'; 
$curl = curl_init($service_url); 
$curl_post_data = array(
$compName, 
$package, 
$email1, 
$telephone1 
); 

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data); 
+0

Oui. cURL serait la voie à suivre - si elle est activée sur votre serveur. L'avez-vous déjà essayé? –

+0

@Nev, ne l'ai pas encore essayé. J'attends toujours l'URL du service Web, mais je voulais juste être sûr que c'était la bonne façon de procéder. Merci – 109221793

Répondre

2

Oui, cela devrait faire l'affaire. Il suffit d'exécuter cette poignée boucle:

$returnData = curl_exec($curl); 

Ne noter que lorsque vous utilisez un tableau que vos POSTFIELDS et non une chaîne « key = val val = & key2 ... » il sera mis à multipart/form-data et non application/x-www-form-urlencoded. Je sais que j'ai eu des problèmes avec ça moi-même à un moment donné.

+0

@Birk ... merci pour la réponse. Dois-je coller cette ligne à la fin? Je vais essayer et voir comment je m'entends. Il n'y a vraiment aucun moyen pour moi de le poster comme une ficelle donc je suppose que je vais traverser ce pont si je viens à lui :) Merci! – 109221793

+0

Ya vous juste jeter le curl_exec dans à la fin. Il exécute votre "curl", avec les paramètres actuels. – Birk

+0

Merci beaucoup Birk :) – 109221793

Questions connexes