Pull to refresh
6
0
Send message

Взаимодействие с сервером через API в iOS на Swift 3. Часть 2

Reading time 9 min
Views 7K
Эта статья является продолжение статьи Взаимодействие с сервером через API в iOS на Swift 3. Часть 1 и обновлением старой статьи, написанной на Objective-C, на swift 3.

Краткая теория


GET запрос


GET – это простейший метод HTTP запроса, и именно его использует браузер для загрузки веб-страниц. Он используется для запроса содержимого, расположенного по определенному URL. Содержимое может быть, например, веб-страницей, рисунком или аудио-файлом. По соглашению, GET запросы осуществляют только чтение и в соответствии с W3C стандартом не должны быть использованы в операциях, изменяющий серверную сторону. Например, мы не будем использовать GET запрос для отсылания формы или пересылки фотографии, потому что эти операции требуют некоторых изменений на серверной стороне (мы будем использовать в этих случаях POST).

POST запрос


POST посылает данные для дальнейшей обработки на URL. Параметры включены в тело запроса, использующего тот же формат, что и GET. Например, если мы хотим запостить форму, содержающую два поля, имя и возраст, то мы пошлем что-то похожее на name=Martin&age=29 в теле запроса. 

Такой способ пересылки параметров широко используется в веб-страницах. Наиболее популярные случаи – это формы. Когда мы заполняем форму на сайте и кликаем Submit, вероятнее всего запрос будет POST.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 2

Взаимодействие с сервером через API в iOS на Swift 3. Часть 1

Reading time 9 min
Views 24K
Данная статья является обновлением статьи Получение удаленных данных в iOS, написанной в ноябре 2015 с использованием Objective-C и потому морально устарешней. Сейчас же будет приведен код, переписанный на Swift 3 и iOS 10 (последней версией является Swift 4.1 и iOS 11, но мой компьютер их уже не поддерживает).

Краткая теория


Формат url


http://www.google.com/?q=Hello&safe=off

  • http — протокол, который определяет, по какому стандарту делается запрос. Еще варианты: https, ftp, file
  • www.google.com — имя домена
  • / — директория, где находятся необходимые нам ресурсы.
  • После вопросительного знака (?) идут параметры q=Hello&safe=off. Они состоят из пар ключ-значение.
  • При запросе также указывается метод, который говорит, как сервер должен обрабатывать этот запрос. По умолчанию, это метод GET.

Данный url из примера можно прочитать таким образом: http запрос с методом GET отправляется домену google.com, в корневую директорию /, с двумя параметрами q со значением Hello и safe со значением off.
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Comments 18

Получение удаленных данных в iOS. Часть 2

Reading time 10 min
Views 9K
Это продолжении статьи, которая является авторским переводом главы 6 Retrieving remote data из книги iOS7 in Action.

Продвинутые HTTP запросы


Пока что мы использовали только метод GET, но доступны и другие методы:
  • POST
  • PUT
  • DELETE
  • OPTIONS
  • HEAD
  • TRACE
  • CONNECT

Мы сосредоточимся на двух наиболее популярных методах: GET и POST.

GET – это простейший метод HTTP запроса, и именно его использует браузер для загрузки веб-страниц. Он используется для запроса содержимого, расположенного по определенному URL. Содержимое может быть, например, веб-страницей, рисунком или аудио-файлом. По соглашению, GET запросы осуществляют только чтение и в соответствии с W3C стандартом не должны быть использованы в операцих, изменяющий серверную сторону. Например, мы не будем использовать GET запрос для отсылания формы или пересылки фотографии, потому что эти операции требуют некоторых изменений на серверной стороне (мы будем использовать в этих случаях POST).

POST посылает данные для дальнейшей обработки на URL. Параметры включены в тело запроса, использующего тот же формат, что и GET. Например, если мы хотим запостить форму, содержающую два поля, имя и возраст, то мы пошлем что-то похожее на name=Martin&age=29 в теле запроса.

Такой способ пересылки параметров широко используется в веб-страницах. Наиболее популярные случаи – это формы. Когда мы заполняем форму на сайте и кликаем Submit, вероятнее всего запрос будет POST.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 1

Получение удаленных данных в iOS

Reading time 10 min
Views 15K
Это авторский перевод главы 6 Retrieving remote data из книги iOS7 in Action. В отличие от книги, весь интерфейс сделан программно, соответственно убран текст, описывающий, как делать все это в storyboard. Для простоты выбрано единственное положение экрана Portrait и целевая платформа iPhone.

Мы создадим приложение с единственной Label на экране, в которой будет отображаться случайная шутка о Чаке Норрисе, загруженная через API сайта api.icndb.com/jokes/random в момент запуска приложения.


Рис.1 Наше приложение, показывающее шутку о Чаке Норрисе.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 0

Information

Rating
Does not participate
Registered
Activity