我想执行以下命令:
lynx -useragent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1' -source 'http://localhost'
Run Code Online (Sandbox Code Playgroud)
作为Process在Scala中.我用过两个:
val cmd = ... // command to execute
cmd #> new java.io.File( filename ) !
Run Code Online (Sandbox Code Playgroud)
和:
val proc = Process( cmd )
proc !!
Run Code Online (Sandbox Code Playgroud)
在这两种情况下我都会收到以下错误lynx:
Can't Access `file://localhost/home/me/Work/23.lynx/2.multidownload/(X11;'
Alert!: Unable to access document.
Run Code Online (Sandbox Code Playgroud)
单独运行命令运行良好,当我在Scala中运行它时 - 我得到错误.这意味着Scala之间发生了一些奇怪的事情lynx,并且字符串没有被正确解释......任何想法?
我猜你设置cmd为String.!!然后在每个空格字符处拆分字符串以获取传递给lynx的参数,而不是关心你的'角色.
import scala.sys.process._
val cmd = Seq("lynx",
"-useragent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1'",
"-source" "http://localhost")
val out = cmd.!!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1074 次 |
| 最近记录: |