Помощь - Поиск - Пользователи - Календарь
Полная версия: API
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Общие вопросы
Страницы: 1, 2
edogs
Цитата(Vadim V Zhurny @ 21.12.2006, 04:57) *
Кгм, ну и API. У всех панелей управления хостингом подобное? Набор обычных get/post запросов с логином/паролем или есть более адекватные? Просто интересно.
Vadim V Zhurny
А что не так? Биллинг на одной машине, панель (или панели) на другой. GET/POST по защищенному соединению вполне логичный вариант. И то и другое на одном сервере - частный случай, специально ради этого изобретать дополнительное "локальное" API смысла особого нет. Или я что-то недопонимаю wink.gif
edogs
Цитата(Vadim V Zhurny @ 21.12.2006, 08:09) *
А что не так? Биллинг на одной машине, панель (или панели) на другой. GET/POST по защищенному соединению вполне логичный вариант. И то и другое на одном сервере - частный случай, специально ради этого изобретать дополнительное "локальное" API смысла особого нет. Или я что-то недопонимаю wink.gif
Во первых нас тут смутило именно слово "API". Ибо эмулиция действий человека у нас с API не ассоциируется. Это так можно взять любую CMS (ту же *-nuke допустим) и заявить что у нее есть API для управления пользователями, разделами, размещения новостей, загрузки картинок и т.д.. Мы бы про такую систему сказали бы - API нету, необходимо использовать эмуляцию веб-интерфейса.
Во вторых нас настораживает необходимость в скрипте биллинга для интеграции с ДА - прописывать логин и пароль. Если бы были использовлись хотя бы производные от них, уже было бы другое дело.
levb
1. Application Programming Interface, API — набор методов (функций), который программист может использовать для доступа к функциональности программной компоненты (программы, модуля, библиотеки).
Если у Вас вызов какой либо функции методом POST/GET не ассоциируется с API – это не означает, что его нет.

2. логин и пароль – это особенность DA. Например, в cPanel для удалённого доступа используется хэш пароля/логина.

Вы знаете какие-либо способы аутентификации без использования логина/пароля?
edogs
Цитата(levb @ 21.12.2006, 17:28) *
1. Application Programming Interface, API — набор методов (функций), который программист может использовать для доступа к функциональности программной компоненты (программы, модуля, библиотеки).

С нашей точки зрения буквальная трактовка этого термина неприемлима, так как приводит к тому, что у любого скрипта можно заявлять наличие API.
Цитата(levb @ 21.12.2006, 17:28) *
Если у Вас вызов какой либо функции методом POST/GET не ассоциируется с API – это не означает, что его нет.
Если для Вас фразы "вызов функции методом POST/GET" и "эмуляция действий человека" равнозначны, то это не означает что это так и есть.
Цитата(levb @ 21.12.2006, 17:28) *
2. логин и пароль – это особенность DA. Например, в cPanel для удалённого доступа используется хэш пароля/логина.
Вы знаете какие-либо способы аутентификации без использования логина/пароля?
Да, знаем. Подчеркнули в Вашей же фразе например.
Что бы было понятнее о чем речь, поясним на примере invision форума. Разработчики форума, несмотря на наличие "веб-интерфейса" (который можно использовать как API с самых первых версий), не заявляли о "наличии API" в форуме, пока там не появилось "sources/api/api_topics_and_posts.php" к примеру. Или Вы считаете что они в этом не правы? smile.gif
И заодно спросим, что бы прояснить Вашу позицию по этому вопросу, может они у Вас с Вами слишком разные изначально. Вы считаете что в *-nuke присутствует API для управления пользователями и темами и постами в форуме? Просто да/нет?
levb
Цитата
И заодно спросим, что бы прояснить Вашу позицию по этому вопросу, может они у Вас с Вами слишком разные изначально. Вы считаете что в *-nuke присутствует API для управления пользователями и темами и постами в форуме? Просто да/нет?
Просто не знаю, поскольку незнаком с архитектурой *-nuke.

Цитата
Да, знаем. Подчеркнули в Вашей же фразе например.

И я знаю. Но давайте подумаем: если злоумышленник получил хэш – это равнозначно получению логина и пароля. Поскольку он с этим хэшем авторизуется в системе, только не сможет это сделать в явном виде (войти в панель), а только удалённо при помощи API. Что в свою очередь приведёт только к задержке, но ни коим образом не остановит злоумышленника. Итог один.

Цитата
С нашей точки зрения буквальная трактовка этого термина неприемлима, так как приводит к тому, что у любого скрипта можно заявлять наличие API.

Если любой скрипт будет предоставлять возможность использовать "набор методов (функций), который программист может использовать для доступа к функциональности программной компоненты (программы, модуля, библиотеки)", тогда можно будет об этом заявлять. Пока далеко не каждый скрипт это позволяет.
edogs
Цитата(levb @ 21.12.2006, 19:19) *
Просто не знаю, поскольку незнаком с архитектурой *-nuke.
Ответьте на примере invision, мы его специально привели.
Цитата(levb @ 21.12.2006, 19:19) *
И я знаю. Но давайте подумаем: если злоумышленник получил хэш – это равнозначно получению логина и пароля.
Нет, не равнозначно, при условии конечно что хэш используется грамотно
Для примера (конкретно по хэшу, не привязывайте ни к чему другому). Если мы сейчас дадим Вам хэш которые invision форум вот здесь на хостобзоре поставил нам в печенья и по которому нас опознает, Вы сможете залогиниться сюда под нашим ником? А если бы дали логин пароль то смогли бы. Так что о равнозначности речь не идет.
Цитата(levb @ 21.12.2006, 19:19) *
Если любой скрипт будет предоставлять возможность использовать "набор методов (функций), который программист может использовать для доступа к функциональности программной компоненты (программы, модуля, библиотеки)", тогда можно будет об этом заявлять. Пока далеко не каждый скрипт это позволяет.
Если Вы выступаете с позиций что "эмулиция человеческих действий" это "набор методов и функций...", то как раз любой скрипт это позволяет. Именно поэтому мы и говорим, что результат документирования post/get запросов выполняемых пользователем по ходу брожения в скрипте никак нельзя назвать API.
Цитата(MiXhost.ru @ 21.12.2006, 19:51) *
Так и не понял о чем Вы ведете дискуссии, в общем интеграция с cPanel и DA готова, CMS готова на 60% релиз ориентирован на первые числа февраля
Извините за оффтоп, отвечать больше по этой теме не будем smile.gif
levb
Вы выражаете своё мнение, я - своё.

Панель управления сервером/хостингом "слегка" отличается от форума или CMS. Коль уж мы ведём речь о панелях управления, будьте добры, приведите мне пример на их базе, а не форум или прочее ПО.

Кроме того, для параноиков ни кто не отменял HTTPS.
А если Ваш сервер вскрыли до уровня чтения файлов, то вообще безразлично, что Вы там используете и в каком виде.
SitePark.Ru
Цитата(levb @ 21.12.2006, 20:16) *

Вы выражаете своё мнение, я - своё.

Панель управления сервером/хостингом "слегка" отличается от форума или CMS. Коль уж мы ведём речь о панелях управления, будьте добры, приведите мне пример на их базе, а не форум или прочее ПО.

Кроме того, для параноиков ни кто не отменял HTTPS.
А если Ваш сервер вскрыли до уровня чтения файлов, то вообще безразлично, что Вы там используете и в каком виде.

В приведенном определении API есть важных два момента:
1. "набор методов (функций)". URL это не метод и не функция.
2. "программист". URL может составить любой, даже не программист
Также стоит прочитать определение на английском:
An application programming interface (API) is a source code interface that a computer system or program library provides in order to support requests for services to be made of it by a computer program.
Т.е. по сути без посредников, которым в данном случае является URL
По вашему сейчас находясь на странице "http://forum.hostobzor.ru/index.php?showtopic=5969"
ваш браузер воспользовался API форума?
Всё же API это программное воздействие

И не стоит HTTPS считать как решение всех проблем с безопасностью при HTTP
Lord Daedra
Цитата(edogs @ 21.12.2006, 05:11) *

Кгм, ну и API. У всех панелей управления хостингом подобное? Набор обычных get/post запросов с логином/паролем или есть более адекватные? Просто интересно.

Могу сказать про DotNetPanel, SOAP
http://ru.wikipedia.org/wiki/SOAP
SitePark.Ru
Цитата(Lord Daedra @ 23.12.2006, 04:15) *

Могу сказать про DotNetPanel, SOAP
http://ru.wikipedia.org/wiki/SOAP

SOAP не задумывался как средство передачи логина и пароля. Да и от обычных гет/пост запросов он мало отличается
levb
По поводу API - надо понимать, что web-программинг отличается от других видов программирования и имеет свои особенности.

По поводу вызова функции GET/POST-методом - Вы изобрели какие-то новые методы передачи данных между серверами?

Ну не нравится Вам это определение - не используйте, придумайте своё. Суть от этого не меняется.


PS В полемику вступать не намерен.
SitePark.Ru
Цитата(levb @ 23.12.2006, 17:13) *

По поводу API - надо понимать, что web-программинг отличается от других видов программирования и имеет свои особенности.

По поводу вызова функции GET/POST-методом - Вы изобрели какие-то новые методы передачи данных между серверами?

Чем отличается и какие особенности имеет веб-программирование в плане API?

Я ничего не изобретал. GET/POST запрос обычный вызов скрипта (программы)

ps: тему угу надо разделить
levb
Если тему разделят, я с удовольствием Вам отвечу.
Moderator
Темы выделена из этой: http://forum.hostobzor.ru/index.php?showtopic=5969
edogs
Ага, в отделённой ответим.
levb - очень жаль что Вы ушли от наших прямых вопросов по поводу наличия API в invision до и после того, как там появилось то, что разработчики invision называют API.

API это программный интерфейс, разработанный для программы.
Он безусловно имеет право работать и через GET/POST (пример - тот же SoAP).
Проблема в том, что в ДА нет ничего "программного интерфейса", есть просто "человеческий интерфейс", и его (зачем-то) преподносят как "программный"..

Для любого хоть сколько-нибудь знающего программера достаточно очевидно, что общение с ДА (да и с любым веб-скриптом) можно реализовать посредством "эмуляции человеческих действий", так для чего это называть API? Для чего тогда вообще выдумывать термин API если всегда можно сэмулировать человеческие действия?
Назовите это "списком документированных post/get запросов выполняемых пользователем при общении с ДА" и вопрос будет снят. Кому надо сэмулирует.

Называть "эмулицию человеческих действий" термином API неверно. Хотя бы уже потому (не вдаваясь в детальные объяснения), что тогда про любую программу имеющую интерфейс для пользователя можно будет сказать что она имеет "API", а это не так.
edogs
Ещё момент важный. То что этот "API" от ДА частенько возвращает не результат по сути, а просто текст для прочтения человеком, да еще к тому же иногда для прочтения этого текста надо идти по Location... это вообще ни в какие ворота.

Если бы ДА предоставлял допустим php файл, со списком функций для создания аккаунтов, их удаления и т.д., если бы эти функции возвращали бы четкие значения ошибок после выполнения и коды ошибок были бы описаны, то мы бы назвали бы это API, даже если бы "оно" использовало бы для непосредственного выполнения операций тот самый "человеческий интерфейс". Потому что это было бы сделано для программера и это был бы "программный" интерфейс. Вызвал функцию - получил результат "ок" или код ошибки - все понятно, вот это было бы API.
Maxim Azarov
Имхо разговор ни о чем, простое набивание постов. Тем более представитель DirectAdmin ответить на данный вопрос не может. Да и не надо оно ему, т.к. он называет это API и множество людей уже написали свой биллинг на базе этого API (как вы его не назовите).

Я вообще замечаю, что появляются тут лица на форуме, которые любят поговорить о том, чего изменить никогда не смогут и критиковать то, чего сами никогда не сделают.
VinGood
Цитата(SitePark.Ru @ 23.12.2006, 02:58) *

В приведенном определении API есть важных два момента:
1. "набор методов (функций)". URL это не метод и не функция.


по-моему, заблуждаетесь. Что есть функция, в общем смысле, послал параметры - получил результат, или у Вас другое мнение?

Цитата(SitePark.Ru @ 23.12.2006, 02:58) *

2. "программист". URL может составить любой, даже не программист

ну и что, не зря API называют пользовательским интерфейсом, не встречались с таким определением?
Или Вы думаете, написать include не сможет не программист smile.gif

Цитата(SitePark.Ru @ 23.12.2006, 02:58) *

Также стоит прочитать определение на английском:
An application programming interface (API) is a source code interface that a computer system or program library provides in order to support requests for services to be made of it by a computer program.
Т.е. по сути без посредников, которым в данном случае является URL


ага, если URL посредник, то и ОС смело можно назвать посредником или как? Тогда любой API, предоставляющий сервис, скажем под винду, который использует саму винду, уже не есть API.

Цитата(SitePark.Ru @ 23.12.2006, 02:58) *

По вашему сейчас находясь на странице "http://forum.hostobzor.ru/index.php?showtopic=5969"
ваш браузер воспользовался API форума?


скажем так, если конкретно документировано, что вот при таком запросе, я могу получить такие-то ответы, по этому URL, то его можно считать API, мое мнение такое. Понятно, что при этом ответ должен быть в каком-то строго определенном и оговоренном формате. Если это просто html, то я врядли могу назвать это полноценным API, хотя если этот HTML строго опеределен, и не будет менятся на протяжении жизни системы предоставляющей такой интерфейс, то можно и его считать API (мое мнение).
API - это интерфейс, никто не определил какой. Интерфейс взаимодействия с Application, чем webserver не Application и почему web это не интефейс взаимодействия с ним. Он же ведь предоставляет сервисы, которые может запросить программа (support requests for services to be made of it by a computer program). Насчет "без посредников", не нашел в Вашем определении.

Цитата(SitePark.Ru @ 23.12.2006, 02:58) *

Всё же API это программное воздействие

Приведите, пожулуйста, примеры полноценных, по Вашему мнению, API, штучек так хотяба 3-4, именно, которые используют удаленные вызовы.
И тогда я, и не только я, поймем наконец, что же такое API smile.gif
Просто, я так подумал, если предоставляемый SOAP интерфейс сервера, по Вашему не может считаться полноценным API, то у меня наверно достаточно серьезно поменяется мировозрение как программиста, со стажем наверно уже лет 13-14.

Цитата(SitePark.Ru @ 23.12.2006, 02:58) *

И не стоит HTTPS считать как решение всех проблем с безопасностью при HTTP

Опять, интересны конкретные примеры. А то мы можем философствовать до бесконечности.
Я могу их привести, Enom предоставляет мне возможность использовать их функциональность в моих приложениях, я вызываю эти возможности с помощю URL. Аналогично webnames, directi, wirecard, directadmin и даже с натяжкой cpanel и т.д. Почему тогда для меня это не API. Все вызовы идут посредством URL, есть нюансы в каждой из перечисленных систем, но все же я использую их возможности в своих приложениях. Пусть мне пришлось для этого перекрыть их функциональность своим интерфейсом, тем мне менее я все равно использую API.
levb
Maxim Azarov +1

Вот ещё одно определение: API — набор определений того, каким образом одна часть программного обеспечения сообщается с другой.

А вообще, наберите в Google define:API и скажите чем то, что предлагает DirectAdmin в качестве API, не подходит под определения.

Цитата
levb - очень жаль что Вы ушли от наших прямых вопросов по поводу наличия API в invision
Я не ушёл - я не знаком с ним.
А изучать для ответа в топике желания нет.

Ferrari в техническом и функциональном плане значительно превосходит Запорожец.
Но это же не основание назвать Запорожец "неавтомобилем".
Или у Вас другое мнение?
edogs
Цитата(Maxim Azarov @ 23.12.2006, 19:39) *
Имхо разговор ни о чем, простое набивание постов.
Учитывая что Вы ни слова по теме не сказали, это Вы о себе видимо?
Цитата(Maxim Azarov @ 23.12.2006, 19:39) *
Тем более представитель DirectAdmin ответить на данный вопрос не может. Да и не надо оно ему, т.к. он называет это API и множество людей уже написали свой биллинг на базе этого API (как вы его не назовите).
А представителя ДА никто тут ни о чем и не спрашивает. И то что много людей на базе "этого" написали свой биллинг к вопросу никакого отношения не имеет.
Цитата(Maxim Azarov @ 23.12.2006, 19:39) *
Я вообще замечаю, что появляются тут лица на форуме, которые любят поговорить о том, чего изменить никогда не смогут и критиковать то, чего сами никогда не сделают.
А мы вот замечаем, что некоторые компании склонны писать неподтверждённые факты (например называя себя "лучшим" хостингом) у себя на сайте, а когда их в этом уличают, начинают отвечать в стиле "Вы сначала сделайте такое же, потом и критикуйте, и вообще это мой сайт - что хочу, то и пишу и оно не обязано быть правдой потому что я крут" при этом обвиняя других в "завышенной самооценке" и "махинациях". Давайте еще гринписовсцев сейчас начнем критиковать за то, что они просят фабрики не устраивать парниковый эффект, ведь гринписовцы никогда таких фабрик не построят, а фабрики они же такие большие и так много сделали. Извините за оффтоп, больше здесь об этом не будем.
Цитата(levb @ 23.12.2006, 19:57) *
..и скажите чем то, что предлагает DirectAdmin в качестве API, не подходит под определения.
Мы выше написали уже.
Цитата(levb @ 23.12.2006, 19:57) *

Я не ушёл - я не знаком с ним.
А изучать для ответа в топике желания нет.
Для того что бы ответить на вопрос "можно ли http интерфейс invision через который пользователь и админ производит операции" назвать API изучать сам invision ни к чему.
Цитата(levb @ 23.12.2006, 19:57) *
Ferrari в техническом и функциональном плане значительно превосходит Запорожец.
Но это же не основание назвать Запорожец "неавтомобилем".
Или у Вас другое мнение?
Не считаем это сравнение корректным. Ибо в обоих случаях машиной управляет человек, а речь как раз идет о программном интерфейсе.
Если уж проводить сравнение с авто, то корректнее взять авто с акпп на электронике, отключить ему все приборы и решать - можно ли это еще называть средством передвижения.
levb
edogs, ваше право трактовать удобным вам образом.

В приведённом мном определении API (набор определений того, каким образом одна часть программного обеспечения сообщается с другой) изложена моя точка зрения на вопрос считать ли предложенное взаимодействие от DirectAdmin как API или нет.

Я свою позицию обозначил и описал почему. Всё остальное - излишнее.
Lord Daedra
Цитата
SOAP не задумывался как средство передачи логина и пароля. Да и от обычных гет/пост запросов он мало отличается

Его используют для передачи команд... В DNP он используется когда надо приказать модулю что-нибудь сделать. Речь же идёт об API.
А если просто передать логин илил пароль... то чем не устравает POST?
Maxim Azarov
Цитата
А мы вот замечаем
- Подпишитесь что ли для начала. Не царских же кровей. Все "мы" да "мы". Ну дайте знать, кто "мы". А то ощущение, что общаешься, с человеком, у которого раздвоение личности.

А по теме я сказал, что коли нет представителя ДА, который ответит на Ваши нападки - эта тема лишь еще один повод для словоблудия, которое выросло из ничего. Просто Вы озвучиваете заранее спорную позицию, чтобы Вам писали по 100 постов. Скоро все поймут, что Вы просто подстрекаете на пустую полемику и общаться Вам будет не с кем.

PS: Да, я считаю хостинг моей компании лучшим. Вы можете хоть головой об стенку биться. Я думаю каждый из хостеров так должен считать иначе грошь ему цена. Хотя явно на сайте нигде не написано слова "лучший хостинг" (разве что для SEO). Есть только фраза "Мы являемся одними из лучших в России", что вряд ли запрещено, так как даже есть независимые оценки.
SitePark.Ru
Цитата(VinGood @ 23.12.2006, 19:43) *

по-моему, заблуждаетесь. Что есть функция, в общем смысле, послал параметры - получил результат, или у Вас другое мнение?

Другое. Функция или метод как элемент ЯП.

Цитата

ну и что, не зря API называют пользовательским интерфейсом, не встречались с таким определением?
Или Вы думаете, написать include не сможет не программист smile.gif

UI это лишь оболочка к API... Конечно он является наверно его частью, но именно как часть. Т.е. его можно рассмотреть как API...

Цитата

ага, если URL посредник, то и ОС смело можно назвать посредником или как? Тогда любой API, предоставляющий сервис, скажем под винду, который использует саму винду, уже не есть API.

Уточните что есть ОС. Не понял ваш пример, потому предлагаю в качестве ответа такой:
Сервис использует не винду, а lib-у, это liba предлагает интерфейс программе, а вот если этот сервис вызовет какую то программу через exec, пишущую данные в файл, которые потом прочитает запустившая программа - это уже не использование API той программы.


Цитата

скажем так, если конкретно документировано, что вот при таком запросе, я могу получить такие-то ответы, по этому URL, то его можно считать API, мое мнение такое. Понятно, что при этом ответ должен быть в каком-то строго определенном и оговоренном формате. Если это просто html, то я врядли могу назвать это полноценным API, хотя если этот HTML строго опеределен, и не будет менятся на протяжении жизни системы предоставляющей такой интерфейс, то можно и его считать API (мое мнение).

А по-моему это техническая документация. Понимаете в чем дело, URL, HTML нельзя назвать элементом API, как его не крути. Я бы еще задумался над XML, но не над этими.
Цитата

API - это интерфейс, никто не определил какой. Интерфейс взаимодействия с Application, чем webserver не Application и почему web это не интефейс взаимодействия с ним. Он же ведь предоставляет сервисы, которые может запросить программа (support requests for services to be made of it by a computer program). Насчет "без посредников", не нашел в Вашем определении.
Приведите, пожулуйста, примеры полноценных, по Вашему мнению, API, штучек так хотяба 3-4, именно, которые используют удаленные вызовы.

Всмысле никто не определил? Его определяет программист, создавший программу.
Вот, про удаленный вызов. Пример тому Apache и PHP. При запросе пользователем скрипта, т.е. при запросе к Apache, libphp использует API Apache. Браузер (клиент) дал только инструкции.

Цитата

И тогда я, и не только я, поймем наконец, что же такое API smile.gif

Чтобы это понять надо сделать несколько API.

Цитата

Просто, я так подумал, если предоставляемый SOAP интерфейс сервера, по Вашему не может считаться полноценным API, то у меня наверно достаточно серьезно поменяется мировозрение как программиста, со стажем наверно уже лет 13-14.

Согласны что SOAP - протокол? Читайте конец сообщения. Могу конечно согласиться если на страницах стандарта SOAP (http://www.w3.org/TR/soap/) найдете упоминание про API.

Цитата

Опять, интересны конкретные примеры. А то мы можем философствовать до бесконечности.
Я могу их привести, Enom предоставляет мне возможность использовать их функциональность в моих приложениях, я вызываю эти возможности с помощю URL. Аналогично webnames, directi, wirecard, directadmin и даже с натяжкой cpanel и т.д. Почему тогда для меня это не API. Все вызовы идут посредством URL, есть нюансы в каждой из перечисленных систем, но все же я использую их возможности в своих приложениях. Пусть мне пришлось для этого перекрыть их функциональность своим интерфейсом, тем мне менее я все равно использую API.

"посредством URL", а об этом я уже говорил
levb
Вы когда википедию читаете, дочитывайте, в ней есть замечательный абзац:
Важно заметить, что понятие протокола (вставлю: HTTP, SOAP) близко по смыслу к понятию API. И то и другое является абстракцией функциональности, только в первом случае речь идёт о передаче данных, а во втором — о построении компьютерных приложений.
API библиотек функций и классов включает в себя описание сигнатур и семантики функций.
levb
Цитата
levbВы когда википедию читаете, дочитывайте, в ней есть замечательный абзац:Важно заметить, что понятие протокола (вставлю: HTTP, SOAP) близко по смыслу к понятию API. И то и другое является абстракцией функциональности, только в первом случае речь идёт о передаче данных, а во втором — о построении компьютерных приложений.API библиотек функций и классов включает в себя описание сигнатур и семантики функций.

wiki я привёл только, пожалуй, как самый известный и доступный источник информации.
Вы когда топик читаете, дочитывайте: я нигде не писал, что HTTP является API.
SitePark.Ru
Цитата(levb @ 24.12.2006, 08:20) *

Вы когда топик читаете, дочитывайте: я нигде не писал, что HTTP является API.

это касалось не только вас, но все же:
Цитата(levb @ 21.12.2006, 17:28) *

"Если у Вас вызов какой либо функции методом POST/GET не ассоциируется с API – это не означает, что его нет.
levb
"Если у Вас вызов какой либо функции методом POST/GET не ассоциируется с API" – эта фраза звучала в конкретном контексте, без приведения которого, фраза теряет смысл.

ОК, напишу подругому:
API – это когда разработчик приложения, предоставляет набор средств, позволяющий получить определённые результаты
работы этого приложения, не вникая в само приложение.

В расматриваемом нами API – это набор функций, которым необходимо передать ряд параметров.
Каким образом Вы будете их передавать: POST-запросом, GET-запросом (URL с которого всё и началось) или
вообще напишете свой драйвер на сокетах – не суть важно.

Разработчик предоставил возможность манипулировать своим приложением.
И даже, если эта возможность выглядит примитивной в техническом плане, я не вижу оснований называть её "неAPI".
SitePark.Ru
Цитата(levb @ 24.12.2006, 15:02) *

POST-запросом, GET-запросом (URL с которого всё и началось)

Ок, задам тогда вопрос - а кто в таком случае будет использовать API скрипта (программы), конкретно?
Вариант "пользователь" не ответ.
levb
Цитата
а кто в таком случае будет использовать API скрипта (программы), конкретно?
Извините, но вопрос не понятен.

А появилось примечание, которое объясняет.
Вариант "пользователь" не может возникнуть по определению.
Поскольку API пишуться не для пользователей, а для разработчиков.

SitePark.Ru
Цитата(levb @ 24.12.2006, 15:08) *

Извините, но вопрос не понятен.

В чем?
Кто будет использовать API запрашиваемой программы, если мы ее попытались вызвать методом GET|POST?
levb
Ответил в предыдущем посте.
edogs
Цитата(levb @ 24.12.2006, 15:02) *
Разработчик предоставил возможность манипулировать своим приложением.
И даже, если эта возможность выглядит примитивной в техническом плане, я не вижу оснований называть её "неAPI".
Один из базовых моментов тут, что не API это не из-за примитивности, а из-за того, что эта "возможность" не программный интерфейс, а человеческий. Если бы (как Вы предлагаете), любое предоставление возможности манипулировать приложением можно было бы называть API по честному, то абсолютно любое приложение обладало бы таким "API", и сам смысл термина API тогда бы утерялся.
levb
Цитата
Один из базовых моментов тут, что не API это не из-за примитивности, а из-за того, что эта "возможность" не программный интерфейс, а человеческий.
И с чего такой вывод?
Именно что это не программный интерфейс.
edogs
Цитата(levb @ 24.12.2006, 15:29) *
Именно что это не программный интерфейс.
Правильно. А API это программный.
levb
Цитата
Если бы (как Вы предлагаете), любое предоставление возможности манипулировать приложением можно было бы называть API по честному
Где Вы вычитали что я веду речь о "любое предоставление возможности манипулировать приложением"?


Цитата
Правильно. А API это программный.
Это не ответ.
Спрошу ещё раз - с чего вы взяли, что API от DA - это не программный интерфейс?
rustelekom
возвращаясь к баранам:

"Кгм, ну и API. У всех панелей управления хостингом подобное? Набор обычных get/post запросов с логином/паролем или есть более адекватные? Просто интересно."

практически у всех популярных - Cpanel, Directadmin, Hsphere. Не знаю только про Plesk - редко пользовался.

PS. Что касается определения API не претендуя на точность и полноту излагаю что это такое на мой взгляд:

"набор команд, инструкций, функций позволяющий взаимодействовать программному обеспечению сторонних разработчиков с оригинальным приложением".

На мой взгляд как именно это реализовано - дело десятое - xml, post/get или что то еще - без разницы. Суть в вышеуказанном.
edogs
Цитата(levb @ 24.12.2006, 15:40) *
Где Вы вычитали что я веду речь о "любое предоставление возможности манипулировать приложением"?

Вот здесь.
Цитата(levb @ 24.12.2006, 15:02) *
Разработчик предоставил возможность манипулировать своим приложением.
И даже, если эта возможность выглядит примитивной в техническом плане, я не вижу оснований называть её "неAPI".

Разработчик запорожца тоже предоставил возможность манипулировать своим автомобилем, и безусловно посредством эмуляции человеческого интерфейса управлять запорожцем можно, посадили робота с камерами и все такое. Только у нас язык это "API" не повернется назвать.
Цитата(levb @ 24.12.2006, 15:40) *
Это не ответ.

Цитата(levb @ 24.12.2006, 15:40) *
Спрошу ещё раз - с чего вы взяли, что API от DA - это не программный интерфейс?

А Вы с чего?
Цитата(levb @ 24.12.2006, 15:29) *
Именно что это не программный интерфейс.

Вы упорно игнорируете наш вопрос о том, являются ли (с Вашей точки зрения) те способы которыми Вы сейчас постите сообщения на форум API инвижен форума. Может всё-таки ответите? 1 слово - да/нет и для нас вопрос в смысле Вашей позиции будет решен (просим об этом с самого начала топика).

Цитата(rustelekom @ 24.12.2006, 15:53) *
PS. Что касается определения API не претендуя на точность и полноту излагаю что это такое на мой взгляд:
"набор команд, инструкций, функций позволяющий взаимодействовать программному обеспечению сторонних разработчиков с оригинальным приложением".
На мой взгляд как именно это реализовано - дело десятое - xml, post/get или что то еще - без разницы. Суть в вышеуказанном.
При таком определении абсолютно всё что угодно имеет API, даже стиральная машина, запорожец и собака... и просто теряется смысл термина.
levb
Цитата
Вот здесь.
У меня нет ни слова о "любой" возможности.

Цитата
А Вы с чего?
С того, что разработчик даёт возможность вызвать определённую команду,
передать ей определённые параметры и получить определённый результат.
Это по Вашему не программный интерфейс?

Цитата
Вы упорно игнорируете наш вопрос о том...
В приведённой вами трактовке – нет.
А вот если invision позволяет вызвать определённый скрипт с определёнными параметрами и сам скрипт
при этом создаст пользователя (а не мне самому его писать в базу) – то да.

Цитата
При таком определении абсолютно всё что угодно имеет API, даже стиральная машина, запорожец и собака... и просто теряется смысл термина.
Когда Вам удастся удалённо постирать бельё (не просто стирка по таймеру, а именно удалённое указание цикла, загрузка белья и порошка и т.п.), сделать так чтоб запарожец сам сгонял за хлебом, а собака за пивом, тогда я с Вами соглашусь. А пока я могу назвать это только демагогией.
edogs
Цитата(levb @ 24.12.2006, 16:15) *
У меня нет ни слова о "любой" возможности.
У Вас там ни слова об "ограничениях.
Цитата(levb @ 24.12.2006, 16:15) *

С того, что разработчик даёт возможность вызвать определённую команду,
передать ей определённые параметры и получить определённый результат.
Это по Вашему не программный интерфейс?

Вы не поняли, вопрос был в том, с чего Вы сказали фразу "Именно что это не программный интерфейс. ".
Цитата(levb @ 24.12.2006, 16:15) *

В приведённой вами трактовке – нет.
А вот если invision позволяет вызвать определённый скрипт с определёнными параметрами и сам скрипт при этом создаст пользователя (а не мне самому его писать в базу) – то да.

Вы сами себе противоречите.
Приведённая нами "трактовка" это именно и есть то, о чем Вы говорите во второй своей части отквоченной цитаты. Поэтому ответ Ваш "нет" мы принимаем.
А здесь лишь поясним... просто задумайтесь о том, что Вы делаете когда пишите сюда сообщение. Вы именно вызываете определённый скрипт с определёнными параметрами и сам скрипт при этом создает сообщение, а не Вы пишите его в базу данных. Может и пользователя создать. А с админским логином/паролем может и форум создать и подраздел.
Цитата(levb @ 24.12.2006, 16:15) *
Когда Вам удастся удалённо .... собака за пивом, тогда я с Вами соглашусь. А пока я могу назвать это только демагогией.
Когда Вы сможете сами лично заставить собаку сбегать за пивом, и мы эту же собаку программно сбегать за пивом не сможем, тогда и называйте это демагогией.... но уж никак не раньше. Никто и никогда в здравом уме и твердой памяти не будет требовать от API выполнения функций на которые сама программа не способна.
rustelekom
согласен smile.gif

"При таком определении абсолютно всё что угодно имеет API, даже стиральная машина, запорожец и собака... и просто теряется смысл термина."

я по моему достаточно четко выразился -
"набор команд, инструкций, функций позволяющий взаимодействовать программному обеспечению сторонних разработчиков с оригинальным приложением"

не вижу тут повода для аналогий со стриральными машинами или запорами. речь идет о ПО и рамки четко ограничены. еще раз повторю что не претендую на статью в википедии но, считаю что изложенное вполне достаточно для определения АПИ применительно к веб-приложениям. И даже к просто софтверу но не хотелось расширять.
ну и вообще мы же не обсуждаем статью для википедии -был задан вопрос - на него был дан ответ, потом пошла какая то муть - АПИ это или не АПИ и кто как его понимает - тогда давайте создадим другйо топик и назовем его "Что есть АПИ" . А чтобы не вешать тут друг друг лапшу на уши - позовем известных прогеров которые на этом АПИ собаку съели и попросим объяснить что оно из себя представляет. А то тут в общем то не прогеры друг друг все объясняют smile.gif Для меня как юзера который пользуется покупным софтом и хочет что то там добавить к этому софту, АПИ - это вышеуказанное определение. Для прогера-профессиональнала вполне возможно что это нечто более расширенное.
levb
Дмитрий, я программист с 15-летним стажем и знаю, что пишу.

Для непонятливых напишу – не вдаваясь в подробности, API создаётся для взаимодействия на программном уровне (когда одна программа общается с другой).

Поэтому приведение примера, что нажимая кнопочку на форуме я вызываю какой-то скрипт и т.п. и т.д. не уместно.

Цитата
Вы не поняли, вопрос был в том, с чего Вы сказали фразу "Именно что это не программный интерфейс. ".
Это Вы не поняли. следует читать так:
Цитата
И с чего такой вывод?Именно что это не программный интерфейс.
что относилось к фразе
Цитата
Один из базовых моментов тут, что не API это не из-за примитивности, а из-за того, что эта "возможность" не программный интерфейс, а человеческий.


Поставьте после "Именно что это не программный интерфейс." знак вопроса, может станет понятней.
edogs
Цитата(levb @ 24.12.2006, 16:45) *
... API создаётся для взаимодействия на программном уровне (когда одна программа общается с другой).
Вот и именно.
Цитата(levb @ 24.12.2006, 16:45) *
Поэтому приведение примера, что нажимая кнопочку на форуме я вызываю какой-то скрипт и т.п. и т.д. не уместно.
В случае с API - да. Именно поэтому мы и говорим, что термин API относительно ДА и инвижена (в том смысле в котором о нем говорили) использовать неуместно.
levb
Совсем запутался.

Вы утверждаете что то, что DA называет API таковым не является?
Да/нет, является/не_является?
Одним словом.
edogs
Цитата(rustelekom @ 24.12.2006, 16:38) *

А чтобы не вешать тут друг друг лапшу на уши - позовем известных прогеров которые на этом АПИ собаку съели и попросим объяснить что оно из себя представляет.

Так в том и дело, что как раз мы аппелируем к примеру известных прогеров, а не просто излагаем свою точку зрения напирая на свой личный опыт со ссылками на википедию. Надеемся Invision достаточно известен?
Что бы никому никуда не лезть, объясним с какого момента там появилось API, точнее инвиженцы стали так называть то что у них было..
а) Инвиженовцы еще с 1-ой версии форума могли описать набор post/get запросов с параметрами которые могут быть посланы - для создания сообщений, для создания юзеров, для управления форумом. Правильно? И могли бы назвать это API. Но они этого не сделали.
б) А сделали это только тогда, когда у них появился php файл с набором реальных функций вызываемых из php для тех же самых действий с возможностью программного репорта об ошибках (а не как в ДА зачастую - просто TEXT).
DA же умудрился обозвать своё описание словом API еще в пункте А.
Если бы ДА сделал бы пункт Б, пусть даже он работал бы через get/post запросы, то вопросов бы не возникло.
Цитата(levb @ 24.12.2006, 16:53) *
Совсем запутался.
Вы утверждаете что то, что DA называет API таковым не является?
Да/нет, является/не_является?
Одним словом.

Мы не можем назвать это API (в полном смысле этого слова, так как иначе любой софт сразу обретает "API"). Пример программеров Invision говорит в пользу нашей точки зрения. Выше мы объяснили свою точку зрения и подтвердили её примером программеров invision, если уж так необходима была "ссылка на авторитеты".
Безусловно, и с этим никто не спорит, DA не создал никаких "препятствий" (например captcha) что бы усложнить жизнь программам пытающимся эмулировать человеческие действия, но только из-за отсутствия этого усложнения называть это "программным интерфейсом", когда это всего лишь описание "человеческого интерфейса" мы не можем.
levb
Мне сдаётся, что вы клоните не в ту сторону: в данном случае post/get является только методом доставки параметров – не более.

К тому же, то что invision не назвал "пункт А" API – не основание для называния остальных "неAPI".
И ссылаться на то, что они могли бы назвать, но не назвали, в качестве аргумента – мягко говоря, неубедительно.

Признаки по которым творение DA можно считать API я описал.
От Вас же кроме абстрактных суждений, я так и не дождался аргументированного ответа.

Спорить дальше не вижу необходимости, пойду почитаю.
edogs
Цитата(levb @ 24.12.2006, 17:24) *
Мне сдаётся, что вы клоните не в ту сторону: в данном случае post/get является только методом доставки параметров – не более.
Мы минимум 2 раза сказали что мы не цепляемся к выбору post/get в качестве метода доставки параметров, сказали четко и недвусмысленно. Буквально в предыдущем сообщении написано "работал бы через get/post запросы, то вопросов бы не возникло"... о каком уклонении речь? (вопрос риторический)
Цитата(levb @ 24.12.2006, 17:24) *

К тому же, то что invision не назвал "пункт А" API – не основание для называния остальных "неAPI".
И ссылаться на то, что они могли бы назвать, но не назвали, в качестве аргумента – мягко говоря, неубедительно.
Вы сослались на свой 15-летний опыт, мы сослались на опыт команды разработчиков invision. Чей опыт убедительнее утверждать не будем, пусть каждый сам решает.
Цитата(levb @ 24.12.2006, 17:24) *
Признаки по которым творение DA можно считать API я описал..
А мы объяснили почему под эти признаки подпадает любой софт, что делает ничтожным смысл наличия определения API в принципе.
Цитата(levb @ 24.12.2006, 17:24) *
Спорить дальше не вижу необходимости, .
Аналогично. Свою позицию достаточно точно изложили тут За сим из топика откланяемсяsmile.gif
kpv
Цитата(edogs @ 24.12.2006, 17:38) *

А мы объяснили почему под эти признаки подпадает любой софт, что делает ничтожным смысл наличия определения API в принципе.

1.вот у меня софтина на компе крутится, например она называется FireFox - у Вас сейчас к ней есть API?
Нету, тогда не надо писать про "любой".
2. а захотите ею управлять, то как это будете делать? из программы, имеется в виду, на кнопки у меня всё прекрасно нажимается, а удалённо?

Цитата

Аналогично. Свою позицию достаточно точно изложили, За сим из топика откланяемсяsmile.gif


было бы точно - не задавали бы вопросов.

вопрос из шапки:
Цитата
Набор обычных get/post запросов с логином/паролем или есть более адекватные?

ответ в теме:
Цитата

Если бы ДА сделал бы пункт Б, пусть даже он работал бы через get/post запросы, то вопросов бы не возникло

3.разговариваете сами с собой?
4. будете смеяться, но DA именно так и сделал laugh.gif
он работает через get/post запросы, да, результат возвращает иногда в TEXT.
Вы только начали разбираться, но так и не поняли - этот текст как раз и нужен человеку, чтобы он на основании него принял решение. Программа, в случае ошибки что должна сделать? Правильно, сообщить об ошибке, что DA делает сам, программисту даже ничего писать не надо.
Только не надо в ответ абстракций (вот типа я хотел бы что-то сделать, а мне в ответ TEXT ), есть что возразить?
http://www.directadmin.com/api.html
название функции API, что конкретно в ней Вас не устроило и по какой причине.
Или если у Вас программы самостоятельно принимают решения - тогда создавайте ветку об API с искусственным интеллектом.
5. на ваши нападки на инвизион я могу сказать, что API - это описанный интерфейс, который не меняется от скина к скину, поэтому Ваши аналогии бесмысленны.

основываясь на
Цитата

Да, знаем. Подчеркнули в Вашей же фразе например.
Что бы было понятнее о чем речь, поясним на примере invision форума. Разработчики форума, несмотря на наличие "веб-интерфейса" (который можно использовать как API с самых первых версий), не заявляли о "наличии API" в форуме


если Вы сможете описать "нажатия на кнопки" в форуме, то есть описать API для данного форума:
ТЗ на API простое (список необходимых интерфейсофф):
а. автоматическая регистрация на форуме
б. подбор раздела для продажи
в. постинг топика

не забываем только, что API - Application Programming Interface
в случае каких то сложностей сравниваем с http://www.directadmin.com/api.html

У Вас ещё остались вопросы по "эмулиции человеческих действий"?

6. Вас так сильно задела крутость программистов DA, что они одним таким ходом убили двух зайцев?
Lord Daedra
Хех...
Читаю вот и думаю... Да какая разница, что такое API, лишь бы всё работало через него без проблем. smile.gif

А лучше всего не API давать, а все исходники открыть. Например, DNP открыла исходники своего портала.

Теперь можно залезть туда и всё вживую посмотреть, как работает. Мне кажется, это верный шаг, т.к. вместо кучи документации лучше покопаться в исходном коде и выдернуть оттуда то, что нужно. Разумеется, нужны навыки программирования.
levb
Цитата
А лучше всего не API давать, а все исходники открыть

Так одна из целей API – абстрагироваться от самого ПО, дать возможность получить конкретный результат не вникая в принципы функционирования ПО.

К закрытости/открытости кода API никакого отношения не имеет.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.