API игнорирует заголовок, отправленный с httr?

Я работаю с UnderArmour API и запрашиваю файлы gpx для маршрутов в определенном месте, и все работает нормально. Однако загрузка занимает некоторое время, и я хотел бы загрузить сжатый файл для каждой страницы сжатия:

Все конечные точки поддерживают сжатие ответов. Чтобы включить сжатие, ваш запрос должен предоставить "Accept-Encoding" со значением, установленным в gzip.

GET /7.1 /... HTTP / 1.1

Хост: api.underarmour.com

Принять: приложение / JSON

Accept-Encoding: gzip

Код, который я использую, чтобы попробовать это, здесь (я заменил свой токен пользователя на XXX для конфиденциальности):

gpxurl <- "https://api.ua.com/v7.1/route/?close_to_location=51.5%2C-0.1&format=gpx&field_set=detailed&limit=40"

r <- GET(gpxurl, add_headers("authorization"=XXX, 
                         "Accept"="application/json",
                         "Accept-Encoding"="gzip"))

Файл, который я получаю, не кажется сжатым. Загрузка занимает столько же времени, сколько и в оригинальном файле, и мне не нужно ничего извлекать. Я не могу проверить заголовки, которые получил httpbin, потому что возвращенный файл находится в необработанном виде, а str(content(r)$headers) завершается ошибкой, потому что формат - это просто атомарный вектор байтов, отправленных обратно с сервера. Заголовки, которые он отправил обратно, находятся ниже и не включают в себя заголовки "Accept" или "Accept-Encoding", которые, как я ожидаю, будут там, если они будут работать правильно.

str(headers(r))

List of 11
 $ content-type               : chr "application/gpx+xml; charset=UTF-8"
 $ content-length             : chr "3506843"
 $ connection                 : chr "keep-alive"
 $ access-control-allow-origin: chr "*"
 $ date                       : chr "Wed, 28 Feb 2018 17:29:37 GMT"
 $ p3p                        : chr "CP=\"NOI DSP COR CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT\""
 $ server                     : chr "edge-proxy/1.0"
 $ uacf-request-id            : chr "9c573cc7-3589-4987-a297-303722b6e6e9"
 $ x-cache                    : chr "Miss from cloudfront"
 $ via                        : chr "1.1 7db492e48a5d55351dcb787a8a14e113.cloudfront.net (CloudFront)"
 $ x-amz-cf-id                : chr "c7zlkuaUXoYVIsmpZvQlHHpGDNobFJw49nzhlg0_gXuGcbWBS6_zCQ=="
 - attr(*, "class")= chr [1:2] "insensitive" "list"

Как я могу получить сжатый файл GPX из UnderArmour API?

0 ответов

Другие вопросы по тегам