2011-02-09 14 views
19

Jestem bardzo nowy w pracy z usługami internetowymi, więc uważam, że jest to dość mylące.Prześlij dane i odzyskaj odpowiedź za pomocą PHP Curl?

Jeśli mam adres URL próbuję opublikować niektóre dane JSON, rozumiem, jak to zrobić za pomocą metody CURL PHP.

Zastanawiam się, czy to zrobię, a adres URL ma jakąś odpowiedź serwera. Jak mogę uzyskać tę odpowiedź w moim php i użyć go do podjęcia różnych akcji w PHP?

Dzięki!

-Elliot

+1

Czy możesz pokazać kod, który masz teraz? –

Odpowiedz

49

Musisz ustawić opcję 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); 

Odpowiedź na twoje zapytanie będzie dostępna w zmiennej $ result.

8

Jeśli odnosimy się do różnych działań na różne kody odpowiedzi HTTP, a następnie można zrobić coś takiego:

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

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

Domyślne zachowanie Curl jest po prostu zrzucić dane można dostać z powrotem do przeglądarki. Aby zamiast uchwycić go do zmiennej, należy:

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

Również można użyć parse_string na tym $ txResult prawidłowo sformatować.

Powiązane problemy