2014-12-04 3 views
0

내 클라이언트 API 중 하나와 연결하는 데 ZF2와 컬을 사용하고 있습니다. ZF2에서만 cURL JSON 배열을 얻는 방법

예를 들어 나는 단지 JSON 배열을 필요

HTTP/1.1 200 OK Access-Control-Allow-Origin: * Content-Type: application/json; charset=ISO-8859-1 Date: Thu, 04 Dec 2014 06:12:13 GMT Server: Google Frontend Cache-Control: private Alternate-Protocol: 80:quic,p=0.02,80:quic,p=0.02 Connection: close { "time": "06:12:13 AM", "milliseconds_since_epoch": 1417673533861, "date": "12-04-2014" } 

으로 반응을 얻고있다.

내 코드는 다음과 같습니다

$data = ""; 
$adapter = new Curl(); 
$client = new Client(); 
$client->setAdapter($adapter); 
$client->setUri('http://date.jsontest.com'); 
$client->setMethod('POST'); 
$adapter->setCurlOption(CURLOPT_POST, 1); 
$adapter->setCurlOption(CURLOPT_POSTFIELDS, $data); 
$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, 0); 
$adapter->setCurlOption(CURLOPT_HTTPHEADER, array(
    'Content-type: application/json', 
    'Authorization: Bearer $token' 
)); 
$response = $client->send(); 
return new ViewModel(array(
'response' => $response, 
)); 

답변

0

후 요청을 성공적으로 완료 새로운 응답 인스턴스를 반환 젠드 HTTP 클라이언트의 send() 방법. 응답 안의 내용 (본문)이 아닌보기에 해당 응답 인스턴스를 직접 전달합니다.

// Your current code.. 

$response = $client->send(); 
$viewModel = new ViewModel(); 

if($response->getStatusCode() === 200) { 
    $obj = json_decode($response->getBody(), true); 

    if($obj === null) { 
    // Json cannot be decoded.. handle it.. 
    } 

    $viewModel->setVariable('response', $obj); 

} else { 
    // Status code is not 200, handle it.. 
} 

// And return the model 
return $viewModel; 

완벽하지 만 작동합니다 ..

:

이 시도

관련 문제