|
9 / 7 / 0
Регистрация: 09.08.2012
Сообщений: 79
|
|
Как работать с api?10.10.2014, 04:02. Показов 24119. Ответов 25
Метки нет (Все метки)
Всем привет! Мне нужно научиться взаимодействовать с различными интернет сервисами при помощи их API, но проблема в том, что я просто не очень понимаю как это делается. Чего-то не достает в понимании, не хватает основ. Не могли бы вы написать что-то нибудь на эту тему или подкинуть статей для начинающих в PHP по этой теме.
0
|
|
| 10.10.2014, 04:02 | |
|
Ответы с готовыми решениями:
25
Как работать с Api в VC++??? Как работать с API VK / Facebook? |
|
285 / 234 / 113
Регистрация: 08.06.2013
Сообщений: 725
|
|
| 10.10.2014, 06:23 | |
|
У каждого сервиса апи различаются, но принцип у них 1 и тот-же:
ты отправляешь какие-либо данные на сервис и он тебе отсылает ответ. Как это технически реализовать, можно прочитать в док-ции апи сервиса. И стоит сказать, что апи могут не давать готовый код для взаимодействия с ними, а лишь объясняют, что должно быть отправлено и как(условия). То как это будет выглядить в коде это твоя проблема и не зависит от яз. программирования.
0
|
|
|
9 / 7 / 0
Регистрация: 09.08.2012
Сообщений: 79
|
|
| 10.10.2014, 09:26 [ТС] | |
|
А можно какие нибудь примеры работы?
0
|
|
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|||||||
| 10.10.2014, 09:32 | |||||||
|
Megatron13,
0
|
|||||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 10.10.2014, 14:13 | |
|
Megatron13, Вы знаете что такое CURL, например. Если да - читайте дальше, если нет - перейдите на сайт php и прочитайте сначала о CURL (на его основе я попробую объяснить).
Значит так, есть сервис, который имеет свой API. Что он делает? Он создаёт на своём сайте скрипт php, например. Этот скрипт принимает обычные POST и GET запросы. Он ничем не отличается от обычных скриптов, которые бы отвечали на запросы из браузера. Итак, значит разобрались, на том сайте, который предоставляет API ничего заумного нет, обычный скрипт, принимающий HTTP запросы (как будто из обычно браузера). Теперь, чтобы отправлять этому скрипту запросы нужен ещё один скрипт (его Вы уже размещаете у СЕБЯ на сайте). Что это за скрипт такой? Тоже обыкновенный скрипт, который использует CURL для отправки запросов тому скрипту, который на том сайте, что предоставляет API. В таком скрипте, как правило, есть код, который запускает функции CURL'а и CURL отправляет обычный HTTP запрос скрипту на том сайте. Но отправляет он данные не "от балды", а те, о которых известно, что тот скрипт их примет. Немного запутанно объясняю... Например, разработчика скрипта, принимающего запросы решил, что его скрипт будет принимать такие переменные GET или POST: key message phone А Ваш скрипт должен отправлять данные именно с такими ключами GET или POST, иначе тот отвергнет запрос. Попытался объяснить самыми простыми словами...
1
|
|
|
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 5
|
|
| 23.06.2017, 16:22 | |
|
Вопрос.
Немного о себе: Я не программист, и заказ услуг программиста в данном конкретном случае не совсем уместен. Но моей логики хватает чтобы в Екселе наворотить что угодно (опять же, кроме VBA). Сам вопрос: Хочу научиться писать код для работы с API, а лучше всего если даже есть софт, который напишет код за тебя. Сама задача простая, нужно получать информацию по доступным методам в API, и если, например, какое то условия не выполняется делать одно, если условие выполняется - делать второе и третье. Подскажите с чего начать ознакомление, если готовых вариантов нет. И в сторону каких языков/программ смотреть, где это будет проще всего реализовать Спасибо.
0
|
|
|
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
|
|
| 15.07.2018, 01:26 | |
|
Зачем для работы с API привлекать такого монстра как curl, который ещё при этом может отсуствовать в наборе библиотек конкретной сборки php!?
Для GET запроса достаточно: $data = file_get_contents('http://site.com/?x=1&some=hello'); Для POST нужно добавить контекст. Вобще, кто-то может обьяснить зачем в php использовать curl, если имеется встроеный инструмент в виде функции file_get_contents?
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 15.07.2018, 11:16 | ||
allow_url_fopen быть отключен и тогда file_get_contents как http клиент не будет работать. А так curl банально удобнее, если идет речь о чем-то сложнее GET запроса.А еще удобнее взять guzzle Добавлено через 20 минут ruflash, зачем темы 4х летней давности поднимать?
0
|
||
|
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
|
||
| 15.07.2018, 11:18 | ||
|
0
|
||
| 15.07.2018, 11:23 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
|
||
| 15.07.2018, 12:27 | ||
|
Jewbacabra, Всё же работа file_get_contents вероятнее чем curl. curl банально может быть не установлен так же php нужен его драйвер, а allow_url_fopen можно просто включить. Отсюда встроеная функция универсальнее.
0
|
||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 15.07.2018, 13:01 | ||
|
И еще такой момент: curl будет использовать соединение повторно при следующих запросах. Будет ли file_get_contents?
0
|
||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||
| 15.07.2018, 13:10 | ||
|
CURL слишком популярен, чтобы хостер мог его установку проигнорировать.
0
|
||
|
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
|
||
| 15.07.2018, 15:49 | ||
|
Когда установлен php, то уже есть гарантии работы функций стандартной библиотеки. Рассуждать, что curl популярен равносильно утверждениям, что популярен браузер хром, который не идёт по умолчанию ни с одним сорвременным дистрибутивом ОС. И то и то верно, но что одно, что другое не установлено по умолчанию, а так же не является панацеей. Плохой тон разбрасываться лишними зависимостями (особенно просто так, по привычке), их список может очень распухнуть, если вы создаёте платный или даже опенсорс продукт. подумайте сами, вы и ваш конкурент дпже по опенсорсу пишете списки зависиморстей в реадми по работе скрипта, что делает большинство - они при равных возможностях просто выберут более универсальное решение. Хороший тон для опытного программиста - это стремиться уменьшать как кол-во кода, так и кол-во зависимостей, если зависимости не упрощают текущий код. В данном случае мы идём в сторону упрощения с точки зрения зависимостей.
0
|
||
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
||||||
| 16.07.2018, 17:44 | ||||||
|
Посылать подальше те хостинги, где не поддерживается курл.
Курл хорош тем, что можно отправить кучу своих заголовков в запросе, если надо. Так же можно заюзать его через прокси сервер. С file_get_contents такого на сколько я знаю не сделаешь. Но оно и не надо для нормальных апи. В моем последнем проекте все было довольно просто:
0
|
||||||
| 16.07.2018, 17:45 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
|
||||||||
| 16.07.2018, 18:00 | ||||||||
Там так же настраивается useragent и прочие тонкости. Всё в виде обычного php массива ключ_опция => значение
1
|
||||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
| 16.07.2018, 21:28 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
|
|||
| 16.07.2018, 22:16 | |||
|
В остальном, все PUT, DELETE нормально отрабатываются. Там где ошибка подразумевает возврат тела документа, там он возвращается. Вцелом коды делятся на 5 основных групп: 1** – информационные, 2** – положительные в случае успешного запроса, 3** – полностью незавершённые запросы, 4** – клиентские ошибки запросов, 5** – серверные недочёты. Для ошибки 400 в некоторых документациях указывается на то, что Клиенту НЕ СЛЕДУЕТ повторять запрос без модификаций. Это я к тому, что curl ещё и может отправить запрос повторно, судя по ваши словам
0
|
|||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||||||
| 16.07.2018, 22:36 | |||||||
|
Теоретическое отступление: протокол http в качестве транспорта использует протокол tcp. Так вот, с помощью curl я могу открыть 1 tcp соединение и использовать его для нескольких разных запросов. Что так умеет file_get_contents я сомневаюсь
0
|
|||||||
| 16.07.2018, 22:36 | |
|
Помогаю со студенческими работами здесь
20
Как из C# работать с rest api? Объясните как работать с API Как работать с JSON API? Как работать с API Platform
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|