You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用httr调用UnderArmour API时请求Header被忽略,如何启用gzip压缩?

优化UnderArmour API GPX文件下载速度:启用Gzip压缩

嘿,我完全懂你现在的烦恼——用UnderArmour API拉指定地点的GPX路线时,下载速度慢得让人忍不住抠手。既然官方已经明确说明所有端点都支持响应压缩,那咱们直接把Accept-Encoding: gzip请求头加上,就能立竿见影提升速度啦!

为什么这能解决问题?

Gzip压缩会把服务器返回的GPX内容压缩成更小的体积,大幅减少需要传输的数据量。对于GPX这种文本占比高的文件,压缩率通常能达到70%-90%,下载速度自然就上去了。而且大部分主流的HTTP客户端都会自动帮你解压压缩后的响应,不用你手动处理。

代码示例(覆盖常见场景)

下面给你几个常用编程语言/工具的实现,你可以直接对应自己的代码修改:

Python(requests库)

如果你用的是Python的requests,只需要在请求头里加上Accept-Encoding字段就行,requests会自动识别并解压gzip响应:

import requests

# 替换成你的GPX请求URL
api_url = "https://api.underarmour.com/7.1/你的GPX路径端点"
headers = {
    "Accept": "application/gpx+xml",  # 注意:要GPX就设这个,别用示例里的json
    "Accept-Encoding": "gzip",
    "Authorization": "Bearer 你的API令牌"  # 别忘了加授权头
}

# 发送请求,requests自动解压
response = requests.get(api_url, headers=headers)

# 保存GPX文件
with open("target_route.gpx", "wb") as gpx_file:
    gpx_file.write(response.content)

JavaScript(浏览器端fetch)

浏览器的fetch也能自动处理gzip压缩,只要在请求头里配置好:

const apiUrl = "https://api.underarmour.com/7.1/你的GPX路径端点";
const requestHeaders = new Headers({
    "Accept": "application/gpx+xml",
    "Accept-Encoding": "gzip",
    "Authorization": "Bearer 你的API令牌"
});

fetch(apiUrl, { headers: requestHeaders })
    .then(res => res.blob())
    .then(blob => {
        // 触发浏览器下载GPX文件
        const downloadUrl = URL.createObjectURL(blob);
        const link = document.createElement('a');
        link.href = downloadUrl;
        link.download = "target_route.gpx";
        link.click();
        URL.revokeObjectURL(downloadUrl);
    });

cURL命令行测试

如果想快速验证效果,可以用cURL命令测试:

# 方式1:下载压缩文件后手动解压
curl -H "Accept: application/gpx+xml" -H "Accept-Encoding: gzip" -o route.gpx.gz "你的API URL"
gzip -d route.gpx.gz

# 方式2:让cURL自动解压并保存为GPX
curl -H "Accept: application/gpx+xml" -H "Accept-Encoding: gzip" --compressed -o route.gpx "你的API URL"

几个关键注意点

  • Accept头别写错:一定要设为application/gpx+xml,而不是官方示例里的application/json,不然可能拿到的不是你要的GPX格式文件。
  • 确认客户端自动解压:大部分现代HTTP库(requests、fetch、axios等)都支持自动解压,但如果是一些老旧工具,可能需要你手动处理gzip内容。
  • 验证压缩效果:可以对比加请求头前后的响应大小,压缩后的体积会大幅缩小,速度提升肉眼可见。

内容的提问来源于stack exchange,提问作者Dubukay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:41:19