我正在尝试使用NOAA的气候数据在线REST Web服务(http://www.ncdc.noaa.gov/cdo-web/webservices/v2#data)编写一个python程序。但是,我在请求响应中遇到错误。从命令行I输入尝试curl请求时:
curl -H "token:<MYTOKEN>" http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&locationid=ZIP:22405&startdate=1999-10-05&enddate=1999-10-25
它返回此响应:
[1] 24322
[2] 24323
[3] 24324
phil@philUbu:~$ <?xml version="1.0" encoding="UTF-8" standalone="yes"?><response><statusCode>400</statusCode><userMessage>There was an error with the request.</userMessage><developerMessage>Required parameter 'startdate' is missing.</developerMessage></response>
[1] Done curl -H "token:..." http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND
[2]- Done locationid=ZIP:22405
[3]+ Done startdate=1999-10-05
出于某种原因,它认为我遗漏了startdate,但我已经包含了它,并且根据文档,它的格式是正确的。有人知道问题出在哪里吗?
最佳答案
url中的与号可能正在被shell解析。在它周围加上单引号:
curl -H "token:<MYTOKEN>" 'http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&locationid=ZIP:22405&startdate=1999-10-05&enddate=1999-10-25'
关于python - 使用curl请求时,NOAA Weather REST API导致错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29927841/