> 백엔드 개발 > PHP 튜토리얼 > PHP에서 JSON POST 요청의 본문을 읽는 방법은 무엇입니까?

PHP에서 JSON POST 요청의 본문을 읽는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-15 01:55:12
원래의
790명이 탐색했습니다.

How to Read the Body of a JSON POST Request in PHP?

PHP에서 JSON POST 요청 본문 읽기

소개

이 문서에서는 검색 및 구문 분석 주제를 다룹니다. 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);
로그인 후 복사

추가 참고 사항

  • 수신기에서 'Content-Type: application/json' 헤더의 한 인스턴스를 제거합니다. 한 번만 설정해야 합니다.
  • 발신자 스크립트가 유효한 JSON을 보내고 있는지 확인하세요. 문자열.
  • Postman 또는 Insomnia와 같은 도구를 사용하여 테스트 목적으로 JSON POST 요청을 쉽게 보낼 수 있습니다.

위 내용은 PHP에서 JSON POST 요청의 본문을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿