2016-07-25 38 views
2

我被要求通過Unix環境調用restful api。我的命令中是否有錯誤,所以我有吹響的問題?curl:沒有指定用於restful api的URL

我已經試過看curl --help,但是我可以找到的東西可能會幫助將是在param密鑰對中傳遞的方式。有可能給我一個例子如何調試這樣的API調用?

$ curl -d param1=xxx&param2=yyy -X POST https://restful_api_path/lifecycle/v1/resource_node 
[1]  10276 
[2]  10277 
-ksh: -X: not found [No such file or directory] 
[2] + Done     curl -d param1=xxx&param2=yyy -X POST https://restful_api_path/lifecycle/v1/resource_node 
$ curl: no URL specified! 
curl: try 'curl --help' or 'curl --manual' for more information 

乾杯

+0

附上您的PARAMS引號 - '捲曲-d '參數1 = XXX&參數2 = YYY'' – neevek

+0

沒你永遠不知道什麼線'[1] 10276'和' [2] 10277'可能意味着什麼? –

回答

4

您需要附上PARAMS在單或雙引號。例如

curl -d 'param1=xxx&param2=yyy' -X POST https://restful_api_path/lifecycle/v1/resource_node 

這是因爲&運營商在BASH用於表示該命令應繼續在後臺運行,因此必須引用或轉義如果你想要一個文字符號。

2

我認爲你需要添加雙引號報價參數:

curl -d "param1=xxx&param2=yyy" -X POST https://restfulurl/lifecycle/v1/resourcenode 

附: 在Windows上,您需要使用雙引號,而不是單引號。但在Unix中,它支持雙引號和單引號來引用參數。 所以下面CMD也是罰款:

curl -d 'param1=xxx&param2=yyy' -X POST https://restfulurl/lifecycle/v1/resourcenode