gpt4 book ai didi

python - 如何将此 curl 命令转换为一些执行相同操作的 Python 代码?

转载 作者:行者123 更新时间:2023-11-28 22:35:58 24 4
gpt4 key购买 nike

我正在尝试使用 Fitbit API 下载我的数据。想通了如何获取某一天的数据,很好。这是我使用的 curl 命令:

curl -i -H "Authorization: Bearer (here goes a very long token)" https://api.fitbit.com/1/user/-/activities/heart/date/2016-6-14/1d/1sec/time/00:00/23:59.json >> heart_rate_20160614.json

但是,我想收集数百天的数据,但我不想手动执行此操作。所以我想我可以使用 Python 循环。我阅读了一些其他主题,例如 this onethis one但仍然不知道如何使用 urllib2 将这些 curl 命令“翻译”成 python 语言。

我试过这个:

import urllib2
url = 'https://api.fitbit.com/1/user/-/activities/heart/date/today/1d/1sec/time/00:00/00:01.json'
data = '{Authorization: Bearer (here goes a very long token)}'
req = urllib2.Request(url,data)
f = urllib2.urlopen(req)

但是出现错误“HTTP 错误 404:未找到”

那么将此 curl 命令“翻译”为 python 语言的正确方法是什么?谢谢!

最佳答案

问题来自 Request 对象的构造:默认情况下,第二个参数是您要随请求一起传递的数据。相反,您必须指定要传递 header 。这是正确的方法:

import urllib2
url = 'https://api.fitbit.com/1/user/-/activities/heart/date/2016-6-14/1d/1sec/time/00:00/23:59.json'
hdr = {'Authorization': 'Bearer (token)'}
req = urllib2.Request(url,headers=hdr)
f = urllib2.urlopen(req)

这在我这边使用了 401,但应该适用于您的 token 。

您可以获得有关 urllib2(和 Request 类)的更多信息 here

不过,我建议你看看Requests ,在我看来它更易于使用,并且有很好的文档记录。

希望对您有所帮助。

关于python - 如何将此 curl 命令转换为一些执行相同操作的 Python 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37828160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com