소개
이 문서에서는 검색 및 구문 분석 주제를 다룹니다. PHP의 JSON POST 요청. 이는 JSON 형식으로 데이터를 전송하는 웹 서비스 및 API로 작업할 때 특히 유용할 수 있습니다.
문제 식별
콘텐츠 유형의 애플리케이션을 사용하는 경우/ POST 요청의 경우 $_POST와 같은 기존 메서드는 데이터를 검색하지 않습니다. 이는 이러한 메소드가 요청 본문이 application/x-www-form-urlencoded 데이터 형식일 것으로 예상하기 때문입니다.
해결책: File_get_contents('php://input')
이 문제를 해결하기 위해 PHP는 file_get_contents('php://input') 함수를 제공합니다. 요청 본문. 그런 다음 이 원시 데이터는 JSON 디코딩 기능을 사용하여 구문 분석할 수 있습니다.
업데이트된 코드
발신자(CURL)
$ch = curl_init('http://webservice.local/'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen(json_encode($data)) )); $result = curl_exec($ch); $result = json_decode($result); var_dump($result);
수신자 (PHP)
$json = file_get_contents('php://input'); $obj = json_decode($json, TRUE);
추가 참고 사항
위 내용은 PHP에서 JSON POST 요청의 본문을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!