相关疑难解决方法(0)

使用带单引号,空格,管道等的scala sys.process

我正在尝试使用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)

curl scala

9
推荐指数
2
解决办法
5863
查看次数

标签 统计

curl ×1

scala ×1