У меня есть следующий код для того, чтобы вызвать веб-службы из PHP, используя завиток:PHP CURL Web Service Call-
<?php
echo "Init<br />";
$url = 'http://server-ip/applications/time2gate.aspx?x=1182&y=365&map=1002&gate=B3&mode=time2gate&session=5fdf288d-01b0-414a-ba2a-58d3f624e453';
$ch = curl_init($url);
echo "1";
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$resp = curl_exec($ch);
$status_code = array();
preg_match('/\d\d\d/', $resp, $status_code);
switch($status_code[0]) {
case 200:
echo "Success<br />";
break;
case 503:
die('Your call to Web Service failed and returned an HTTP 503.');
break;
case 403:
die('Your call to Web Service failed and returned an HTTP status of 403.');
break;
case 400:
die('Your call to Web Services failed and returned an HTTP status of 400.');
break;
default:
die('Your call to Web Services returned an unexpected HTTP status of:' . $status_code[0]);
}
if(curl_errno($ch))
{
echo 'error' . curl_error($ch);
}
curl_close($ch);
?>
Проблема заключается в том, что я получаю коды ответа HTTP, как 163, 815, 329 .. . Почему это происходит? Что означают эти коды? Я проверил журнал ошибок Apache, и я не видел никаких ошибок в моем коде. Кроме того, я проверил звонок на предоставленный url, и он работает с надстройкой плаката Mozilla.
Любые идеи? Я работаю с PHP 5, на Ubuntu 12.
Спасибо, Ник
Вы уверены, что это коды ответа HTTP? http://en.wikipedia.org/wiki/List_of_HTTP_status_codes Они не выглядят знакомыми – ajtrichards
Ну, я следовал инструкциям из http://developer.yahoo.com/php/howto-reqRestPhp.html. Есть ли другой способ проверить код ответа HTTP? –
Возможно, но без фактического вывода вызова службы лучший ответ, который вы получите, - это дикая догадка. – Crontab