PHP cURL을 사용하여 JSON 데이터를 게시하고 읽을 수 있는 형식으로 반환하는 방법
서버에서도 코드가 JSON 데이터를 올바르게 게시하지 않습니다. , 빈 배열을 반환합니다. Shopify API처럼 JSON을 사용해 REST를 구현하려면 이 문제를 해결해야 합니다.
POST 요청 수정
문제를 해결하려면 전체를 인코딩해야 합니다. "고객" 필드뿐만 아니라 JSON의 POST 데이터입니다. 다음과 같이 코드를 수정하세요.
$ch = curl_init($url); # Setup request to send JSON via POST. $payload = json_encode(array("customer" => $data)); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); # Return response instead of printing. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); # Send request. $result = curl_exec($ch); curl_close($ch); # Print response. echo "<pre class="brush:php;toolbar:false">$result";
POST 데이터 액세스
다른 페이지에서는 서버 때문에 $_POST를 사용하여 POST 데이터를 검색할 수 없습니다. 측면 분석. 대신 POST된 JSON이 포함된 file_get_contents("php://input")를 사용하세요. 읽을 수 있는 형식으로 데이터를 보려면:
echo '<pre class="brush:php;toolbar:false">'.print_r(json_decode(file_get_contents("php://input")),1).'';
추가 고려 사항
위 내용은 JSON 데이터를 보낼 때 PHP cURL POST 요청이 빈 배열을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!