2011-02-09 19 views
19

Sono molto nuovo a lavorare con i servizi Web e quindi trovo questo piuttosto confuso.Invia dati e recupera la risposta utilizzando PHP Curl?

Se ho un URL, sto cercando di pubblicare alcuni dati JSON, ho capito come farlo utilizzando il metodo PHP CURL.

Quello che mi chiedo è, se faccio questo, e l'URL ha qualche tipo di risposta del server .. come faccio a ottenere quella risposta nel mio php e usarla per intraprendere diverse azioni all'interno del PHP di conseguenza?

Grazie!

-Elliot

+1

Puoi mostrare un po 'del codice che hai adesso? –

risposta

49

Dovrete impostare l'opzione CURLOPT_RETURNTRANSFER a 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 risposta alla richiesta sarà disponibile nella variabile $ result.

8

Se lei si riferisce a diverse azioni per i diversi codici di risposta HTTP, allora si può fare qualcosa di simile:

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

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

Il comportamento predefinito di Curl è quello di scaricare solo i dati che si ottiene indietro al browser. Al fine di catturare invece ad una variabile, è necessario:

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

Inoltre è possibile utilizzare parse_string su questo $ txResult per formattare correttamente.

Problemi correlati