2013-09-02 2 views
0

안녕하세요, 응답을 수신하고 응답을 출력 JSON을 사용하여 배열의 일부 데이터를 POST하려고합니다. 지금까지 모든 매개 변수를 자세히 살펴 보았지만 데이터를 가져 오지 못했습니다.PHP cURL과 함께 POST JSON 데이터 사용. 응답을 얻을 수 없다

나는 나는 또한

https://coinbase.com/docs/api/authentication

가 실패 페이지에 따라 아래의 $의 채널 변수에 올바른 API를 뒀다 https://coinbase.com/api/doc/1.0/buttons.html

버튼을 '생성'에 Coinbase API를 사용하고 있습니다 아무것도 가져올 수 없습니다. 일부 데이터에 대한 응답을 얻기 위해 정확한 세부 정보를 게시했지만 실패 했습니까? 여기

내 코드입니다

<?php 
$data = array(
    "button" => array(
    "name" => "Product Name", 
    "price_string" => "1.23", 
    "price_currency_iso" => "USD", 
    "custom" => "Order 123", 
    "description" => "Sample description", 
    "type" => "buy_now", 
    "style" => "custom_large" 
) 
);                  

$json_data = json_encode($data);                     


$ch = curl_init('https://coinbase.com/api/v1/buttons?api_key=MYAPIKEY');                  
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                  
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                   
'Content-Type: application/json',                     
'Content-Length: ' . strlen($json_data))                  
);                             

$output = curl_exec($ch); 

$result = json_decode($output); 

echo $result->button->type; 

?> 
+0

출력을 사용 포함 ['curl_error'] (http://php.net/curl_error)? –

+0

아, 저에게 이런 .... 컬 오류 : SSL 인증서 문제, CA 인증서가 OK인지 확인하십시오. 세부 정보 : 오류 : 14090086 : SSL 루틴 : SSL3_GET_SERVER_CERTIFICATE : 인증서 확인에 실패했습니다. localhost에서 작업 중입니다. – ServerSideSkittles

답변

1

빠른 수정이 인증서 검사를 비활성화하는 것입니다 위해 :

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

더 안전하고 적절한 (회사의 인증서를 CA 인증서 파일을 내보낼 수있을 것이다 서명 된 사이트 인증서)를 X.509 PEM 형식으로 만들고 경로를 사용하십시오.

curl_setopt($ch, CURLOPT_CAINFO, "/path/to/CA.crt"); 

OU는 모질라 인증서 데이터베이스를 사용할 수 있습니다 http://curl.haxx.se/ca/cacert.pem 그것은 DigiCert High Assurance EV Root CA부터 coinbase.com에

+0

문제를 해결 한 고맙습니다! – ServerSideSkittles

관련 문제