PHP cURL - PARSE 服务器响应

PHP cURL - PARSE server response

我不是程序员,我需要你的帮助。

我有一个 returns 服务器响应的 cURL 函数 - 成功错误:

400 - 错误响应:

<?xml version="1.0" encoding="UTF-8"?><statusCode>400</statusCode>
<errorMessage>In order to be contacted, please enter a valid phone number.</errorMessage>

200 - 成功响应:

<?xml version="1.0" encoding="UTF-8"?>
<statusCode>200</statusCode>

我需要根据 200 或 400 StatusCode 验证响应。

如果状态为 200,则照常进行。

如果状态为 400(错误),那么我需要提取错误消息(去除所有标签)和仅 ECHO 错误消息(在上面的示例中 - 为了联系,请输入一个有效的 phone 号码。)

我该怎么做?请帮忙。

谢谢。

CURL 代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);
curl_close($ch);

我还是不确定你到底在找什么 但你可以试试:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 1);

$result = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($httpCode == 400) {
  /* Handle 400 here. */
  echo "Error: " . curl_error($ch);
}


$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($result , 0, $header_size);
$body = substr($result , $header_size);
 var_dump($header);
 var_dump($body);

curl_close($ch);

如有任何问题,欢迎您提出来