cURL을 사용하여 PHP에 JSON 게시: 데이터 해석 관련 문제
휴식 PHP 프레임워크 내에서 cURL POST 명령을 실행하려는 시도 , 사용자가 게시된 데이터를 해석하는 데 어려움을 겪었습니다. 특히 POST 매개변수 -d가 예상대로 인식되지 않아 빈 배열이 발생했습니다.
문제 설명
사용자가 cURL 명령을 활용하려고 시도했습니다.
curl -i -X POST -d '{"screencast":{"subject":"tools"}}' \ http://localhost:3570/index.php/trainingServer/screencast.json
Windows(PHP 5.2)와 Linux(동일한 PHP 버전)에서 명령을 실행하더라도 POST 데이터 제대로 해석되지 않았습니다. 서버 응답은 아래와 같이 빈 "스크린캐스트" 배열을 나타냅니다.
{"screencast":{"id":null,"subject":null,"body":null, "dataUrl":null,"dataMedium":null,"createdOn":null,"author":null}}
솔루션
문제는 -d 매개변수가 지정하는 cURL의 기본 가정에서 발생합니다. 양식으로 인코딩된 데이터. 이 문제를 해결하려면 -H 매개변수를 사용하여 Content-Type을 JSON으로 지정해야 합니다.
curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \ http://localhost:3570/index.php/trainingServer/screencast.json
이 수정으로 cURL은 게시된 JSON 데이터를 올바르게 해석했으며 POST 작업이 성공했습니다.
위 내용은 내 cURL POST JSON 데이터가 PHP에서 비어 있는 것으로 해석되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!