curl调用ThingSpeak API时URL编码时区参数被忽略问题
解决curl调用ThingSpeak API时时区参数被忽略的问题
这个问题我之前也碰到过,根源在于shell对&符号的解析——在bash这类shell环境里,&是用来把命令放到后台执行的特殊字符,所以你的curl命令执行到&timezone这里就被截断了,时区参数根本没被传递给API接口。
解决方法很简单,把整个API请求URL用单引号或者双引号括起来,这样shell就会把URL当成一个完整的字符串处理,不会解析里面的&:
正确的curl命令示例
curl -o /Path/To/File.csv 'https://api.thingspeak.com/channels/CHANNELID/feed.csv?api_key=APIKEY&timezone=Europe%2FBerlin'
或者用双引号也能达到同样效果:
curl -o /Path/To/File.csv "https://api.thingspeak.com/channels/CHANNELID/feed.csv?api_key=APIKEY&timezone=Europe%2FBerlin"
你可以试试这个方法,这样时区参数就能正常被API识别,和浏览器访问的效果完全一致。
内容的提问来源于stack exchange,提问作者Peter S
相关产品推荐
相关产品推荐

