API

Задание 1

Декодируйте строку https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0.

URLdecode('https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0')
## [1] "https://ru.wikipedia.org/wiki/Москва"

Задание 2

Установите пакет httr. Сделайте get-запрос на адрес https://httpbin.org/get, результат запишите в объект res.

# install.packages('httr')
library(httr)
res <- GET('https://httpbin.org/get')

Задание 3

Посмотрите код, который вернул сервер (статус выполнения запроса). Должен быть код 200.

Код ответа можно получить как напрямую из объекта res, так и с помощью специальной функции status_code().

res$status_code
## [1] 200
## [1] 200

Задание 4

Извлеките и запишите в объект res_content содержание ответа сервера. Выведите на печать структуру полученного объекта.

Обычно содержание записано в raw-формате, который надо отдельно конвертировать строки. Проще воспользоваться специальной функцией content() пакета httr.

res_content <- content(res)
str(res_content)
## List of 4
##  $ args   : Named list()
##  $ headers:List of 5
##   ..$ Accept         : chr "application/json, text/xml, application/xml, */*"
##   ..$ Accept-Encoding: chr "deflate, gzip, br"
##   ..$ Host           : chr "httpbin.org"
##   ..$ User-Agent     : chr "libcurl/7.68.0 r-curl/4.3.2 httr/1.4.2"
##   ..$ X-Amzn-Trace-Id: chr "Root=1-62083b65-7064cae93b2673157c5e32ff"
##  $ origin : chr "34.74.52.206"
##  $ url    : chr "https://httpbin.org/get"

Задание 5

Сделайте запрос к 'https://httpbin.org/json' и извлеките название презентации.

res <- GET('https://httpbin.org/json')
res_content <- content(res)
res_content$slideshow$title
## [1] "Sample Slide Show"