|
|
Модератор форума: JonMagon |
Сообщество uCoz Мастерская uCoz Использование PHP и API на uCoz Как проверить включен ли API на сайте |
Как проверить включен ли API на сайте |
uhelp,
Quote (uhelp) Здравствуйте, такой вопрос, мне нужно с другого сайта узнать включен ли API у определенного сайта в юкозе, как можно это сделать ? В смысле? Просто узнать стоит галочка использовать api или нет? пробить по ссылке: http://другой_сайт/api/index/0-1 например - ... если html - то нет, если xml - то включено ... ... Добавлено (24-Янв-2012, 10:03:43) --------------------------------------------- Quote (JonMagon) никак, если вы не знаете ключ от api. А вот это не понял ... Почему никак? Зачем мне ключ чтобы просто узнать да или нет? Может я не в курсе чего либо? Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 Сообщение отредактировал fflesh - Вторник, 24 Янв 2012, 10:07:49
|
Quote (fflesh) например - ... если html - то нет, если xml - то включено ... Вы точно говорите, я тоже об этом подумал, но забыл написать об этом, но как сделать чтобы скрипт определял html или xml ? например есть поле: Code $auth[1] = $_POST['site']; И чтобы при нажатии на форме скрипт писал об ошибке, например пишет что у этого сайта API отключен, я знаю что чтобы вывести страницу таким образом: /api/index/8 нужно для начало входить на сайт, это все уже готово, и я уже разобрался с этим, но проблема в том что нужно просто узнать включен API у введенного в поле "site" P/S. нужно сделать чтобы скрипт проверял сразу поле site, включен ли API а туда вводят только юкоз сайты По личным вопросам !
|
Ошибся. xmlrpc_is_fault не возвращает ошибку.
Как вариант можно определять по mime type. Вот пример с cURL: Code $ch = curl_init('http://site.ru/api/index/8-1'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); if(curl_getinfo($ch, CURLINFO_CONTENT_TYPE)=='text/xml; charset=UTF-8') { echo 'API'; } else { echo 'NO API'; } Еще можно проверять на наличие xml ответа: Code $doc = file_get_contents('http://site.ru/api/index/8-1'); if(substr_count($doc, '<?xml version="1.0"?>')>0) { echo 'API'; } else { echo 'NO API'; } ... Сообщение отредактировал -O-J-A- - Вторник, 24 Янв 2012, 15:21:03
|
Цитата uhelp () Здравствуйте, такой вопрос, мне нужно с другого сайта узнать включен ли API у определенного сайта в юкозе, как можно это сделать ? Если "определённый сайт" использует APIKEY - то никак. В иных случаях: Получать с помощью курла заголовки сайта (обращаясь к АПИ этого сайта, например на //u.to/xW10AQ ), смотреть Content-Type: если text/xml - АПИ включён иначе выключен (или включён, но с APIKEY) Вы полюбили меня. Здесь я. (с)
Сообщение отредактировал Ferro7 - Вторник, 24 Янв 2012, 22:04:23
|
Quote (fflesh) А вот это не понял ... Почему никак? Зачем мне ключ чтобы просто узнать да или нет?Может я не в курсе чего либо? Да, вы не в курсе. Если на сайте стоит ключ к API, а вы не знаете его, вы не сможете введя http://другой_сайт/api/index/0-1 узнать включен API или нет, вам придется к ссылке приписать ?apikey=ключ_от_API Не оказываю поддержку посредством ЛС/ICQ/Skype/AIM/XMPP/E-mail.
Сообщение отредактировал JonMagon - Вторник, 24 Янв 2012, 19:35:11
|
JonMagon,
Quote (JonMagon) Да, вы не в курсе. Если на сайте стоит ключ к API, а вы не знаете его, вы не сможете введя http://другой_сайт/api/index/0-1 узнать включен API Да, спасибо, уже в курсе ) Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
| |||
| |||