Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/130: Рейтинг темы: голосов - 130, средняя оценка - 4.78
9 / 7 / 0
Регистрация: 09.08.2012
Сообщений: 79

Как работать с api?

10.10.2014, 04:02. Показов 24144. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Мне нужно научиться взаимодействовать с различными интернет сервисами при помощи их API, но проблема в том, что я просто не очень понимаю как это делается. Чего-то не достает в понимании, не хватает основ. Не могли бы вы написать что-то нибудь на эту тему или подкинуть статей для начинающих в PHP по этой теме.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2014, 04:02
Ответы с готовыми решениями:

Как работать с API ?!
как работать с API? Ничего не пойму, открываю к примеру: ...

Как работать с Api в VC++???
Какие инклуда надо включать и т.д.? Заранее спасибо!

Как работать с API VK / Facebook?
Добрый день, хочу сделать приложение про универ, в общем разобрался как что делать но есть несколько вопросов, так как я в этом деле...

25
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
16.07.2018, 23:48
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Работа с любым api
ну, это звучит, как еслиб я сказал, что все ответы по данному спичу есть в документации со ссылкой php.net
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Чтобы узнать в чем именно ошибка
для этого есть заголовки, которые можно получить без curl
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Нет, слишком мало информации. Да хотябы как просто получить номер ошибки?
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Так я хочу увидеть пример.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$context = stream_context_create(array(
  'http'=>array(
    'method'=>"PUT",
  )
));
 
$response = @file_get_contents('http://www.example.com/', false, $context);
 
if ($response === FALSE) {
    // Error Code
    var_dump($http_response_header);
} else {
    // OK
    var_dump($response);
}
вернёт:

PHP
1
2
3
4
5
6
7
8
9
array(7) {
 [0]=> string(31) "HTTP/1.0 405 Method Not Allowed"
 [1]=> string(29) "Cache-Control: max-age=604800"
 [2]=> string(35) "Date: Mon, 16 Jul 2018 20:10:52 GMT"
 [3]=> string(38) "Expires: Mon, 23 Jul 2018 20:10:52 GMT"
 [4]=> string(25) "Server: EOS (vny006/0454)"
 [5]=> string(17) "Content-Length: 0"
 [6]=> string(17) "Connection: close"
 }
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Теоретическое отступление: протокол http в качестве транспорта использует протокол tcp. Так вот, с помощью curl я могу открыть 1 tcp соединение и использовать его для нескольких разных запросов. Что так умеет file_get_contents я сомневаюсь
HTTP и прочие запросы верхнего уровня всё равно пойдут дважды по отношению к серверу. Мне как-то трудно представить в логах сервера однократный HTTP с несколькими запросами и ответами. Если речь о работе с API с использованием вебсокетов, то это отдельная тема и контекст вебсокетов есть как для для file_get_contents, так и отдельный инструмент, где одно соединение можно открыть (создать) c использованием icmp, udp, tcp и после какого либо многократного использования закрыть. Опять же стандартной библиотекой PHP.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
17.07.2018, 00:22
Цитата Сообщение от ruflash Посмотреть сообщение
для этого есть заголовки, которые можно получить без curl
Заголовки вообще не для этого предназначены.
Цитата Сообщение от ruflash Посмотреть сообщение
HTTP и прочие запросы верхнего уровня всё равно пойдут дважды по отношению к серверу. Мне как-то трудно представить в логах сервера однократный HTTP с несколькими запросами и ответами
Я ничего из этого не понял.
Цитата Сообщение от ruflash Посмотреть сообщение
Если речь о работе с API с использованием вебсокетов
Нет, все что я говорил про http

Что касается кода, то код http так и не получен. Нужно еще некоторые действия провести по парсингу первой строки. Заголовки берутся из непойми какой переменной. И использован оператор подавления ошибок, тело не получено (на самом деле можно)
0
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
17.07.2018, 01:56
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Заголовки вообще не для этого предназначены.
Ага, так же как и "не пустое тело" при 400 ошибке.

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Я ничего из этого не понял.
Я не сомневался ибо это сложная тема!

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Что касается кода, то код http так и не получен.
Согласен, для этого нужен опыт программирования где-то уроков информатики средней школы.

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Нужно еще некоторые действия провести по парсингу первой строки.
Проведи парсинг. "Некоторое действие" не делает инструмент не состоятельным просто из-за того, что надо организовать класс работы с ним в ином виде.

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Заголовки берутся из непойми какой переменной.
Те, кто не понимают, опять же, смотрят документацию.

Цитата Сообщение от Jewbacabra Посмотреть сообщение
И использован оператор подавления ошибок
И что?

Цитата Сообщение от Jewbacabra Посмотреть сообщение
тело не получено (на самом деле можно)
В теле будет страница с извинениями админа? Какой от неё толк?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
17.07.2018, 11:58
ruflash,
Я не сомневался ибо это сложная тема!
Просто там произвольный набор слов написан, не имеющих смысла. Дальше не вижу смысла обсуждать эту тему с собеседником, имеющим крайне поверхностное представление о протоколе http.
0
 Аватар для Точкару
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 85
21.11.2018, 21:28
Цитата Сообщение от ruflash Посмотреть сообщение
зачем в php использовать curl, если имеется встроеный инструмент в виде функции file_get_contents?
Здравствуйте! В программировании я новичок, но для меня эта тема крайне актуальна. Я ее прочитал, но ответа на свой вопрос не нашел.
Подскажите, пожалуйста, где можно почитать про API?
Интересует пошаговый алгоритм действий. Конкретно мне необходимо отправить картинку с Яндекс.Диска на Яндекс.Диалоги с помощью предоставленного API:
POST /api/v1/<идентификатор>/images

Host: https://dialogs.yandex.net
Authorization: OAuth <OAuth-токен>
Content-Type: application/json

{ "url": "<адрес изображения>" }

Предполагаю, нужен обработчик на моем сервере? Или можно обойтись локалкой?
Где почитать про API?

Мне думается, что эта функция file_get_contents не для отправки запросов на другой ресурс, а для их обработки.
0
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
21.11.2018, 22:47
Цитата Сообщение от Точкару Посмотреть сообщение
Мне думается, что эта функция file_get_contents не для отправки запросов на другой ресурс, а для их обработки.
Как для отправки, так и для получения. Обрабатывать вам надо будет в своём коде.
Но если умеете и установлен, то можете воспользоваться curl-ом, чтоб выглядеть умнее!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.11.2018, 22:47
Помогаю со студенческими работами здесь

Как из C# работать с rest api?
Здравствуйте. Есть ли у кого какие примеры как из C# работать с rest api. Я в этом полный часник. В api есть пример отправки запроса из...

Объясните как работать с API
Всем привет! Есть интернет магазин, при оформлении заказа все последующие действия банально сводятся к отправке письма с заказом...

Как работать с JSON API?
Мне нужно получить список всех профессиональных областей отсюда : http://api.hh.ru/1/json/#proffields Я для этого использую такой код: ...

Как работать с API Platform
Парни всем привет! Подскажите вот какой момент. Мне нужно написать плагин, который по клику на кнопку будет создавать посты с книгами в...

Android Studio не дает работать с API 8 без установленного API 21
Удалил все не интересующие меня библиотеки и поставил только API Level 8. Но при создании приложения вылезает куча ошибок таких как: Что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru