我正在尝试使用scala.sys.process._向curron的chronos服务器提交POST请求.因为命令参数中有空格,所以我使用的是Seq[String]变体cmd.!!
我正在构建命令:
val cmd = Seq("curl", "-L", "-X POST", "-H 'Content-Type: application/json'", "-d " + jsonHash, args.chronosHost + "/scheduler/" + jobType)
Run Code Online (Sandbox Code Playgroud)
如预期的那样产生
cmd: Seq[String] = List(curl, -L, -X POST, -H 'Content-Type: application/json', -d '{"schedule":"R/2014-02-02T00:00:00Z/PT24H", "name":"Scala-Post-Test", "command":"which scalac", "epsilon":"PT15M", "owner":"myemail@thecompany.com", "async":false}', localhost:4040/scheduler/iso8601)
Run Code Online (Sandbox Code Playgroud)
然而,运行这个似乎破坏了这个'Content-Type: application/json'论点:
scala> cmd.!!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 264 0 100 100 164 2157 3538 --:--:-- --:--:-- …Run Code Online (Sandbox Code Playgroud)