php 컬 포스트 오류에 대한 해결 방법: 먼저 오류가 있는 PHP 코드 파일을 연 다음 PHP 코드의 "$data"를 배열에서 "urlencode()" 함수로 인코딩된 데이터로 변경합니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP 컬 포스트 시 문제 해결 방법
다음과 같은 시나리오가 있습니다:
POST in a. php 메소드를 사용하여 b.php에 데이터를 제출했지만 b.php는 데이터를 수신할 수 없으며 CURL 작업이 성공했는데 이는 매우 이상합니다. "CURLOPT_POSTFIELDS에 배열을 전달할 때 cURL은 데이터를 multipart/form-data로 인코딩하지만 URL 인코딩 문자열을 전달할 때 데이터는 application/x-www-form-urlencoded로 인코딩됩니다."라고 밝혀졌습니다. .
CURL에 익숙하지 않은 사람들이 프로그램을 작성할 때 다음과 같은 코드를 자주 작성합니다.
코드 예:
<?php $data = array( 'Title' => $title, 'Content' => $content, 'ComeFrom' => $comefrom ); curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false); curl_setopt($ch, CURLOPT_URL, 'http://example.com/b.php'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch);
제출할 데이터를 배열 형식으로 POST를 통해 보내면 "오류"가 발생합니다. CURL 사용에서 "multipart/form-data"의 인코딩은 "a4d7a398d2dd10985c0b5379a3ef03c7" , 시도해 볼 수 있습니다. 현재로서는 "b.php"는 $_POST를 통해 데이터를 수신할 수 없습니다.
그래서 올바른 접근 방식은 위 코드의 $data를 배열에서 urlencode()로 인코딩된 배열로 변경하는 것입니다.
【추천 학습: PHP 비디오 튜토리얼】
위 내용은 PHP 컬 포스트 오류 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!