API忽略用httr发送的头?

时间:2018-02-28 17:41:37

标签: r httr underarmour

我正在使用UnderArmour API并为给定位置的路线请求gpx文件,并且它正常工作。但是,下载需要一段时间,我想按照their compression page下载压缩文件:

  

所有端点都支持响应压缩。要启用压缩,您的请求必须提供“Accept-Encoding”,其值设置为gzip。

     

GET /7.1 / ... HTTP / 1.1

     

主持人:api.underarmour.com

     

接受:application / 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)失败,因为格式只是从服务器发回的字节的原子向量。它发回的标题在下面,不包括&#34;接受&#34;或&#34;接受编码&#34;如果它正常工作我会期待在那里的标题。

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"

如何从UnderArmour API获取压缩的GPX文件?

0 个答案:

没有答案