2011-02-09 16 views
19

Soy muy nuevo en el trabajo con servicios web, por lo que me resulta bastante confuso.¿Publica datos y recupera la respuesta usando PHP Curl?

Si tengo una URL que estoy tratando de publicar algunos datos JSON, entiendo cómo hacerlo utilizando el método CURL PHP.

Lo que me pregunto es, si hago esto, y la URL tiene algún tipo de respuesta del servidor ... ¿cómo obtengo esa respuesta en mi php y la uso para tomar diferentes acciones dentro del PHP en consecuencia?

Gracias!

-Elliot

+1

¿Puedes mostrar parte del código que tienes ahora mismo? –

Respuesta

49

Vas a tener que establecer la opción CURLOPT_RETURNTRANSFER true.

$ch = curl_init($url); 

curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $params); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($ch); 

curl_close($ch); 

La respuesta a su solicitud estará disponible en la variable $ result.

8

Si se refiere a diferentes acciones para diferentes códigos de respuesta HTTP, entonces usted puede hacer algo como:

$response = curl_exec($req); 
$responseInfo = curl_getinfo($req); 

$httpResponseCode = $responseInfo['http_code']; 
3

El comportamiento predeterminado de Curl es simplemente volcar los datos que obtiene de vuelta al navegador. Con el fin de capturar lugar a una variable, se necesita:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$txResult = curl_exec($ch); 

También se puede usar en esta parse_string $ txResult para formatear correctamente.