Я хочу получить объект из API с HTTP-запросом (например, JQuery AJAX) к внешнему API. Как начать? Я исследовал мистера Гугла, но не могу найти что-то полезное.
Я начинаю задаваться вопросом, это вообще возможно? В этом посте Laravel 4 отправляет пост-запрос от контроллера к внешнему URL с данными, которые выглядят так, как будто это можно сделать. Но нет ни примера, ни источника, где можно найти документацию.
Пожалуйста, помогите мне?
Ответы:
На основании ответа на аналогичный вопрос здесь: https://stackoverflow.com/a/22695523/1412268
Взгляни на Guzzle
источник
Мы можем использовать пакет Guzzle в Laravel, это PHP-клиент HTTP для отправки HTTP-запросов.
Вы можете установить Guzzle через композитора
Или вы можете указать Guzzle как зависимость в существующем composer.json вашего проекта
Пример кода в laravel 5 с использованием Guzzle, как показано ниже,
источник
// "200"
должен быть,// 200
потому что возвращаемое значение является целым числом.Вы просто хотите позвонить по внешнему URL и использовать результаты? PHP делает это из коробки, если мы говорим о простом GET-запросе к чему-то, обслуживающему JSON:
Если вы хотите сделать запрос по почте, это немного сложнее, но есть множество примеров, как сделать это с помощью curl.
Так что я думаю, вопрос в том; что именно вы хотите?
источник
Начиная с Laravel v7.X , платформа теперь поставляется с минимальным API, обернутым вокруг HTTP-клиента Guzzle . Это обеспечивает легкий способ сделать ГЭТ , должность , положить , патч , и на удаление запросов с помощью HTTP - клиента :
Вы можете управлять ответами, используя набор методов, предоставляемых
Illuminate\Http\Client\Response
возвращаемым экземпляром.Обратите внимание, что вам, конечно, нужно установить Guzzle так:
Встроено гораздо больше полезных функций, и вы можете узнать больше об этих функциях здесь: https://laravel.com/docs/7.x/http-client
Теперь это определенно самый простой способ делать внешние вызовы API в Laravel.
источник
Обновлено 21 марта 2019 г.
Добавить
GuzzleHttp
пакет используяcomposer require guzzlehttp/guzzle:~6.3.3
Или вы можете указать Guzzle как зависимость в вашем проекте
composer.json
Включите строку ниже в верхней части класса, где вы вызываете API
Добавьте ниже код для оформления запроса
источник
Определенно, для любого PHP-проекта вы можете использовать GuzzleHTTP для отправки запросов. У Guzzle очень хорошая документация, которую вы можете проверить здесь . Я просто хочу сказать, что вы, вероятно, хотите централизовать использование класса клиента Guzzle в любом компоненте вашего проекта Laravel (например, в качестве признака) вместо создания экземпляров клиента на нескольких контроллерах и компонентах Laravel (как много статей и ответы подсказывают).
Я создал черту, которую вы можете попробовать использовать, которая позволяет отправлять запросы от любого компонента вашего проекта Laravel, просто используя его и обращаясь к нему
makeRequest
.Обратите внимание, что эта черта может даже обрабатывать отправку файлов.
Если вы хотите узнать больше об этой черте и некоторых других вещах, чтобы интегрировать эту черту в Laravel, проверьте эту статью . Кроме того, если вы заинтересованы в этой теме или вам нужна серьезная помощь, вы можете пройти мой курс, который проведет вас через весь процесс.
Я надеюсь, что это поможет всем вам.
С наилучшими пожеланиями :)
источник
Вы можете использовать Httpful:
Веб-сайт: http://phphttpclient.com/
Github: https://github.com/nategood/httpful
источник