PHP cURL - PARSE服务器响应

时间:2015-01-13 23:06:54

标签: php xml curl formatting

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

我有一个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错误消息(在上面的例子中 - 为了联系,请输入有效的电话号码

我该怎么办?请帮忙。

谢谢。

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);

1 个答案:

答案 0 :(得分:3)

我仍然不确定你究竟在寻找什么 但你可以尝试:

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

如果有任何问题,欢迎您。