>백엔드 개발 >PHP 튜토리얼 >내 PHP cURL POST 요청이 빈 JSON 배열을 반환하는 이유는 무엇입니까?

내 PHP cURL POST 요청이 빈 JSON 배열을 반환하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-17 22:30:14544검색

Why is my PHP cURL POST request returning an empty JSON array?

PHP cURL을 사용하여 JSON 데이터 게시: 빈 결과 배열 문제 해결

PHP cURL을 사용하여 JSON 데이터를 게시하려고 하면 결과 배열이 비어 있는 문제가 발생할 수 있습니다. . 이 문서에서는 이 문제를 다루고 해결책을 제공합니다.

잘못된 JSON 게시

제공된 코드에서 JSON 데이터 형식이 게시에 적합하지 않습니다. cur_setopt($ch, CURLOPT_POSTFIELDS, array("customer" => $data_string))를 사용하는 대신 전체 데이터 배열을 JSON으로 인코딩하고 이를 페이로드로 게시해야 합니다. "고객" => $data))).

예상치 못한 결과

올바른 JSON 형식을 사용하더라도 print_r($_POST)를 사용하여 게시된 데이터를 검색하는 것은 효과적이지 않습니다. 수신되는 JSON 데이터에 접근하려면 수신 페이지에서 file_get_contents("php://input")를 사용하세요.

향상된 코드 조각

다음 코드 조각은 다음을 보여줍니다. 올바른 접근 방식:

$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
";

타사 라이브러리

Shopify API와 인터페이스하려면 타사 라이브러리를 활용하는 것이 좋습니다. 이를 통해 프로세스를 단순화하고 추가 기능을 제공할 수 있습니다.

위 내용은 내 PHP cURL POST 요청이 빈 JSON 배열을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.