我正在尝试访问在此处找到的美国政府API,但收到了500错误响应:
https://gsa.gov/portal/content/162379
列出的API端点示例如下:
https://inventory.data.gov/api/action/datastore_search?resource_id=8ea44bc4-22ba-4386-b84c-1494ab28964b&filters={"FiscalYear":"2017","Zip":"10036"}下面是我尝试使用curl进行测试的方法:
curl -H "Content-Type: application/json" -X POST -d '{"FiscalYear":"2017","County":"Worcester"}' https://inventory.data.gov/api/action/datastore_search?resource_id=8ea44bc4-22ba-4386-b84c-1494ab28964b我是否尝试错误地访问它?
发布于 2017-01-10 19:46:45
您正在使用HTTP POST,需要发出一个HTTP GET请求。您只需将地址复制为curl agrument即可:
curl 'https://inventory.data.gov/api/action/datastore_search?resource_id=8ea44bc4-22ba-4386-b84c-1494ab28964b&filters=\{%22FiscalYear%22:%222017%22,%22Zip%22:%2210036%22\}' --compressed或者使用-G,强制curl使用HTTP GET并将-d参数解析为HTTP GET查询字符串(例如?a=1&b=2),而不是POST表单。(通常-d会告诉curl以HTTP POST形式发送参数)
curl -G -d resource_id=8ea44bc4-22ba-4386-b84c-1494ab28964b -d filters='{"FiscalYear":2017,"Zip":10036}' https://inventory.data.gov/api/action/datastore_search --compressed您可以添加--compressed,这样curl将为您处理压缩。
https://stackoverflow.com/questions/41085784
复制相似问题