Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Как сделать запрос к API ?, (подскажите пожулуйста чайнику)
vlad-zh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 27
Пользователь №: 43003
На форуме: 6 месяцев, 7 дней
Карма:




Привет.

Вот простой запрос к API:
http://emspost.ru/api/rest/?method=ems.test.echo

Если его просто скопировать и вставить в браузер, то увидим отклик в формате JSON:
{"rsp":{"stat":"ok","msg":"successeful"}}

Подскажите, как это оформить в виде скрипта index.php ? Я попытался сделать так:
<?php		
$request = 'http://emspost.ru/api/rest/?method=ems.test.echo';
echo $request;
?>

,в итоге увидел в браузере:
"http://emspost.ru/api/rest/?method=ems.test.echo"

т.е. он просто строку текстовую вывел мне и всё ((

Может тут надо использовать форму и передавать методом get ? Ведь вроде в таком случае мы будем использовать массив GET , а в нём как раз хранятся данные из адресной строки браузера. Что-то типа index.php:
<form method="get" action="index.php">
// код
<input type="submit" name="send" value="Получить ответ от API" />
</
form>
<?php
echo $response = $_GET['response'];
?>


Но что-то всё равно не получается. Кто-нибудь может подсказать?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 26 дней
Карма: 30




подумай, что ты написал. Ты сделал строковую переменную и воспользовался оператором вывода - Echo . По какой же такой магии должен произойти запрос к серверу ? Еще и ответ вернуться.
смотри в сторону Curl библиотеки.
с помощью CURL ты сможешь сделать запрос, и получить ответ с которым что-либо сможешь сделать.
Ответ придет в json, судя по всему. смотри в сторону json_decode
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11785
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 11 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 11 дней


GET-запрос можно с помощью простого file_get_contents() сделать

echo file_get_contents('http://emspost.ru/api/rest/?method=ems.test.echo');


но для чего-то посложнее используют cURL обычно.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 26 дней
Карма: 30




Можно smile.gif но лучше разобраться с CURL библиотекой, чтобы завтра тут не появился топик - а как сделать POST/PUT запрос, да еще и с кастомными заголовками, куками etc
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
vlad-zh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 27
Пользователь №: 43003
На форуме: 6 месяцев, 7 дней
Карма:




jetistyum
хорошо, спасибо
пошел читать Curl
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 3 дня
Карма: 591




Цитата (jetistyum @ 25.07.2016 - 23:19)
Можно  но лучше разобраться с CURL библиотекой, чтобы завтра тут не появился топик - а как сделать POST/PUT запрос, да еще и с кастомными заголовками, куками etc

Не всё ли равно какую тему он создаст: "Как работать с file_get_contents" или "Как работать с cURL" ? smile.gif
Из перечисленного у курла плюс только в куках из коробки, все остальное реализуется примерно одинаковым объёмом кода. Учитывая что ему нужно работать с апи, куки ему врядли понадобятся, зато для простых гет запросов file_get_contents проще wink.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 26 дней
Карма: 30




killer8080
Так не создал же, пошел разбираться, и думаю разберется.
С помощью простого вызова file_get_contents не получится сделать никакой запрос кроме GET, а API, как правило, предполагает работу с разными типами запросов.

Ок, можно работать с f_g_c описывая и создавая контекст. Но тогда зачем уж работать с f_g_c, если более архитектурно-верно будет stream_get_contents, ведь работа идет уже с потоком, а не файлом.

Если разберется и с тем и с тем, будет отличный экспириенс.
Еще можно с сокетами разобраться.

А вообще по хорошему надо использовать psr-7 интерфейс. А библиотеку выбирать на любой вкус.
https://packagist.org/search/?q=psr-7%20implementation


PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса