xml — PHP cURL — PARSE ответ сервера

Я не программист, и мне нужна ваша помощь, пожалуйста.

У меня есть функция 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

Решение

Я до сих пор не уверен, что именно вы ищете
но вы можете попробовать:

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

пожалуйста, если есть вопросы

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]