cURL - 执行命令并将Json结果保存到文件?

4
我试图在CMD中运行这个命令,命令似乎没有错误地运行,但我不确定它是否真正发出了请求。结果应该以Json文件形式返回。
curl -H "Accept: application/json+v3" -H "x-api-key: <my_api_key>" \https://beta.check-mot.service.gov.uk/trade/vehicles/mot-tests\?registration=X182XCD

这里是API文档。

当我在CMD中运行此代码时,我收到了以下错误:

curl: (1) Protocol "\https" not supported or disabled in libcurl

删除\会解决问题,但我不确定这个命令是否执行成功。或者它是否执行正确,只需要将Json结果保存即可。我只需要将Json结果保存到一个文件中,然后再处理。

编辑1: 我按@gabriel-santos发布的代码运行,得到了以下结果。在根目录下没有被命令创建的新文件。 enter image description here

2个回答

6

您可以使用-o 文件名将输出保存到所需的文件中。\仅用于转义换行符,因此如果您发送的是单行命令,则不需要它,否则您应该使用:

curl -H "Accept: application/json+v3" \
-H "x-api-key: <my_api_key>" \
https://beta.check-mot.service.gov.uk/trade/vehicles/mot-tests\?registration=X182XCD \
-o myresponse.json

谢谢。请看编辑 :) 当执行命令时,新文件未被创建。 - KickAss
1
@KickAss 忘记了一个 "\ "。请复制我的代码并再试一次。 - Gabriel Santos

2

好的,问题已解决。感谢@GabrielSantos的回答,这是可用的代码:

curl -H "Accept: application/json+v3" -H "x-api-key: <my_api_key>" https://beta.check-mot.service.gov.uk/trade/vehicles/mot-tests?registration=X182XCD -o myresponse.json

\registration 中阻止了参数的接受,导致 Json 保持空白。

如果我删除 -o myresponse.json,结果将被打印在 CMD 上,这也很有用。

教训:如果整个代码将作为单个 CMD 命令使用,请删除每个 \

希望这能帮到你!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接