Я не программист, и мне нужна ваша помощь, пожалуйста.
У меня есть функция 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);
Я до сих пор не уверен, что именно вы ищете
но вы можете попробовать:
$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);
пожалуйста, если есть вопросы
Других решений пока нет …