CURL을 통해 POST 값을 성공적으로 보낼 수 있지만 반환하는 유일한 JSON 코드를 얻는 방법을 알아낼 수없는 것 같습니다.
다음은 내 코드의 일부입니다.
try {
$curl = curl_init($url);
if (FALSE === $curl)
throw new Exception('failed to initialize');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER,
array("Content-type: application/json")
);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
$message = curl_exec($curl);
if (FALSE === $message)
throw new Exception(curl_error($curl), curl_errno($curl));
$response = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$error = $message;
var_dump($error);
curl_close($curl);
} catch(Exception $e) {
trigger_error(
sprintf(
'Curl failed with error #%d: %s',
$e->getCode(), $e->getMessage()
),
E_USER_ERROR
);
}
$ response 변수에 대한 올바른 값을 얻을 수 있지만 반환 된 메시지는 다음과 같습니다.
string(253) "HTTP/1.1 400 Bad Request Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/8.5 Date: Sun, 02 Jul 2017 17:47:34 GMT Content-Length: 38 {"Message":"Email is already in used"}"
var_dump를 사용하려고 할 때. 오류 메시지 변수는 { "Message": "Email is already in used"}에있는 메시지 값입니다.
팁이 있습니까?
정말 고마워!
HTTP/1.1 400 Bad Request Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/8.5 Date: Sun, 02 Jul 2017 17:47:34 GMT Content-Length: 38
cURL 요청에서 반환 된 헤더입니다. 출력에서 헤더를 제거하려면 ( )
로 설정 CURLOPT_HEADER
해야 합니다.FALSE
0
curl_setopt($curl, CURLOPT_HEADER, 0);
에 의해 언급 한 바와 같이 문서 때 CURLOPT_HEADER
입니다 TRUE
헤더 출력에 포함됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다