Как осуществить ОТДЫХА технологии
Существуют две стороны этой сказки, первая заключается в том, чтобы создать законные ОТДЫХА просит, а второй - как обрабатывать ответы правильно. Генерация проситКогда речь заходит о создании просьбе, у Вас есть три основных варианта. Во-первых, можно создать запрос вручную, с помощью PHP в заголовке функции. Это дает полную гибкость в создании запроса, но привлекать наиболее кодирования. Во-вторых, вы можете воспользоваться одной из PHP встроенные в просьбе функций, таких как file_get_contents () или файла () / fopen (), fread () и fclose (). В этом случае, много подробной информации выполняется автоматически, PHP, и вы получите тот же ответ. Наконец, вы можете использовать пользовательский класс предназначен для использования с API нет. Обычно эти занятия требуют ничего больше, чем параметр список, и покажет результаты в виде пользовательских объектов или сделать их доступными через класс. Руководство поколенияСоздание запросов вручную только сложно впервые, после того, - повторного использования кода и модульность удар дюйма Теоретически функцию, которая будет генерировать запрос довольно основных. Во-первых, все параметры запроса готовы обеспечить надлежащую передачу. Далее, URL для конечного создается, а затем анализируются и разбиты на составляющие ее части. Наконец, сам запрос, отправленный розетки: functioncallAPI ($ конечной, $ devkey, $ действий, типа $, $ ключевое слово) Три из принят параметры URL кодирования. Это необходимо для обеспечения их надлежащего прошло над URL. В предыдущем примере, при поиске "стиля" была проведена; Если вместо поиска в "стиле книги", пространство потребовало бы кодировку, в результате чего стиль% 20book. Я забытых кодировании devkey переменных, веря, что орган, выдающий занимает, как она будет использоваться во внимание при создании им. $ сайта = $ конечной. "? devkey = $ devkey и действия = $ действий и тип = $ Тип и ключевое слово = $ ключевое слово "; Здесь URL сама создается, в том числе теперь кодирование параметров. URL, необходимо deconstructed до его составных частей для использования в сыром сокет соединения. $ fp = fsockopen ($ пребывания, 80); Здесь информация, полученная на предыдущих код наконец отправлена. Первый fputs (), строка посылает путь запрашиваемого документа, а вторая строка указывает желаемый хост. $ ответ = ""; Наконец, ответ будет получен, и содержание ответа возвращается. Вы узнаете, как обрабатывать ответы в разделах, касающихся этой стороны вещей, в ближайшее время. Быстрый поколенияИспользование PHP встроенных функций в файл, этот же процесс может быть завершен с гораздо меньшими код (хотя вы имеете меньше гибкости). Теоретически эта функция работает так же, как предыдущий, за исключением все файл сокета призывает заменить один призыв к file_get_contents (): functioncallAPIQuick ($ конечной, $ devkey, $ действий, типа $, $ ключевое слово) Там действительно не так много объяснить, с этим примером. URL, кодировка обсуждалось ранее, и единого file_get_contents () обрабатывает слово все магии. В амперсанд перед функцией слово используется для пресечения любых предупреждений, которые могут возникнуть из несуществующего файла или URL, так как они должны заниматься вызовом функции (file_get_contents () вернет ложное в этих случаях) . В заранее PHP5 условиях вам придется использовать fopen () вместо file_get_contents (). Некоторые гибкость теряется с этой просьбой типа, потому что вы можете больше не установить пользовательские заголовки или необязательные заголовки, которые могут потребоваться или очень желательно, в зависимости от API, с которым Вы взаимодействия. Автоматизированные средстваКак популярности веб-сервисов повышается, это будет преобладание двоичные классы для обработки грязной работы фактически взаимодействуют с сервером. Если Вы хотите взаимодействовать с имеет класс доступен, то, безусловно, заслуживает изучения. Доступ к классу, разумеется, будет зависеть от класса сам. Он должен быть достаточно документации, и доступ, скорее всего, не слишком отличаются от предыдущих примеров, только с чуть более проверки ошибок (вы надеетесь). Что-то помнить, что многие двоичные модули разрабатываются и поддерживаются третьими сторонами, и как таковая вам, возможно, придется подождать некоторое время, после новых функций выпущен в API для них становятся доступными в свой класс. Обработка ОтзывКак вы заниматься ответ зависит от того, какой метод отправки запроса вы выбираете. Если вы породили запрос вручную или с помощью одной из PHP встроенных функций (например, file_get_contents ()) Вам также нужно вручную обработать ответ. Если используется сторонний модуль, она будет иметь свой собственный интерфейс для получения результатов. Ручная Разбор ответРеакция со стороны сервера должно быть XML документа; К счастью, XML был разработан чтобы его можно было легко проанализировать. К сожалению, каким бы он был разработан, вручную разборе, как правило, ничего не весело. PHP5 поставляется с SimpleXML, которое делает обработки XML документов проста. PHP4 пользователи не имеют SimpleXML; Однако несколько сторонних модулей, как MiniXML имеются, которые выполняют аналогичные функции. После того как вы получили ответ, придерживаться его в SimpleXML объекта должна быть проста. Используя предыдущий пример библиотеки и просить функцию, вы в итоге что-то вроде этого: $ ответ = callAPIQuick ( "http://library.example.com/api.php ','123', 'поиск', В данном случае ответ не является ложным (и, следовательно, нечто, предположительно в XML вы надеялись, была вернулись). Заметим, что это предположение в целом довольно силе. Когда сервер обеспечения API встречает ошибку, он должен предоставить ошибка в приятном формате XML. В simplexml_load_string () функция принимает ответ и превращает ее в объект XML, которые могут быть непосредственно обращались, iterated путем, и так далее. Наконец, print_r () функции результаты в удобной для пользователя продукции с указанием содержания объекта, показано здесь: SimpleXMLElement Объект ) [1] => SimpleXMLElement Объект Глядя на эту продукцию, - пару вещей следует немедленно очевидны:
Принимая все это во внимание информацию, пару быстрых строк кода - это все, что требуется для изучения содержания в более полном объеме. повторить "Вы искали: ($ xml -> Просьба -> Параметры -> Аргумент [3] -> Стоимость) <br>";повторить "Вот ваши ($ xml -> Ответ -> ResultCount) <br> результаты"; foreach ($ xml -> Ответ -> Пункт AS и $ пункта) ( повторить "($ пункт -> Название) на ($ пункт -> Автор) <br>"; ) Здесь поисковый запрос и результат подсчета представлена, а затем результаты сами iterated путем. Синтаксис получает немного странным при работе с массивами (как продемонстрировано, когда поисковый запрос напечатан), поэтому часто целесообразно итерацию их для ясности. ОТДЫХ является эффективным методом дистанционного опроса API, когда это допустимо по просьбе части Вашего сделка должна состояться в ясной. Создание ОТДЫХА запросы так же легко, как URL - кодирование требуемых параметров и с указанием пункт назначения на слово. Решение ОТДЫХА ответов может быть несколько сложнее; Вместе с тем, привлечение средств как SimpleXML, она тоже может быть завершена быстро. это статья добавлена Emanuela Хедрик
|
|||||
|