使用Copyleaks API查询扫描历史时遇end参数缺失错误求助
Copyleaks API调用报错:'end'参数缺失问题解决
问题详情
调用Copyleaks扫描历史API时,收到错误提示:Value cannot be null. (Parameter ''end' time is missing'),同时终端执行命令时还会弹出'end' is not recognized as an internal or external command。执行的curl命令如下:
curl -XGET -H "Authorization: Bearer My-Login-Token-Access" https://api.copyleaks.com/v3/scans/usages/history?start=01-09-2023&end=31-09-2023
无论在Postman还是终端执行,都无法获取期望的CSV或其他格式扫描历史报告。
问题根源
- 终端解析问题:URL里的
&符号会被终端当作命令分隔符,导致end=31-09-2023被识别成新的独立命令,API实际只接收到start参数,自然会报end缺失。 - 日期格式错误:9月没有31号,且Copyleaks API可能要求的是
YYYY-MM-DD格式,而非DD-MM-YYYY,这也会导致参数解析失败。
解决步骤
- 修正终端curl命令:把整个URL用双引号包裹,避免
&被终端误解析:
curl -XGET -H "Authorization: Bearer My-Login-Token-Access" "https://api.copyleaks.com/v3/scans/usages/history?start=01-09-2023&end=31-09-2023"
- 调整日期格式:换成符合API要求的格式,同时修正日期错误(9月最大是30号):
curl -XGET -H "Authorization: Bearer My-Login-Token-Access" "https://api.copyleaks.com/v3/scans/usages/history?start=2023-09-01&end=2023-09-30"
- 用Postman生成正确curl:在Postman中配置好请求参数并测试成功后,直接通过Postman的“代码生成器”导出curl命令,避免手动输入出错。
同类问题反馈
已有多位用户遇到过相同问题,大多是终端特殊字符解析或日期格式不符合API规范导致的,按上述方法调整后基本都能解决。
内容的提问来源于stack exchange,提问作者Christian Elyon
相关产品推荐
相关产品推荐

